Uploaded image for project: 'Java Couchbase JVM Core'
  1. Java Couchbase JVM Core
  2. JVMCBC-552

Improve ring buffer diagnostics

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.6.1
    • None
    • None

    Description

      The only way currently of knowing if the configured number of endpoints is sufficient to cover the incoming requests, is to see if a BackpressureException occurs.  It would be good to give some more transparency on how full the ring buffer is, ideally split up by query/kv etc.  Perhaps in the form of periodic dumping to log, or an API.  Would be good to give an idea of latency too, e.g. what's the oldest query in the ring buffer.

      Attachments

        For Gerrit Dashboard: JVMCBC-552
        # Subject Branch Project Status CR V

        Activity

          graham.pople Graham Pople added a comment -

          Taking this on. Going to see what we can do about tracking requests vs responses in-mem, grouping them by their service, and giving some mechanism to access that. Could add them to the BackpressureException as a useful starting point, so you know which service has mostly filled the ring buffer.

          graham.pople Graham Pople added a comment - Taking this on. Going to see what we can do about tracking requests vs responses in-mem, grouping them by their service, and giving some mechanism to access that. Could add them to the BackpressureException as a useful starting point, so you know which service has mostly filled the ring buffer.
          graham.pople Graham Pople added a comment -

          Taking a look at this today, hoping to something ready by end of tomorrow.

          graham.pople Graham Pople added a comment - Taking a look at this today, hoping to something ready by end of tomorrow.
          graham.pople Graham Pople added a comment -

          First patch in, to track diagnostics and return them in BackpressureExceptions. Depending on how this review goes, will also look at adding an API to get the same info.

          graham.pople Graham Pople added a comment - First patch in, to track diagnostics and return them in BackpressureExceptions. Depending on how this review goes, will also look at adding an API to get the same info.
          graham.pople Graham Pople added a comment -

          First set of changes going out in 2.6.0.

          graham.pople Graham Pople added a comment - First set of changes going out in 2.6.0.
          graham.pople Graham Pople added a comment -

          Second and final set of changes in for review, adding ring buffer diagnostics to the existing diagnostics API.

          graham.pople Graham Pople added a comment - Second and final set of changes in for review, adding ring buffer diagnostics to the existing diagnostics API.
          graham.pople Graham Pople added a comment -

          All changes merged. First round (adding ring buffer stats to BackpressureException) went out in core 1.6.0, second round (adding to diagnostics API) will go out in next version, presumably 1.6.1.

          graham.pople Graham Pople added a comment - All changes merged. First round (adding ring buffer stats to BackpressureException) went out in core 1.6.0, second round (adding to diagnostics API) will go out in next version, presumably 1.6.1.

          People

            graham.pople Graham Pople
            graham.pople Graham Pople
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty