Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-60263

[KV] Expose a list of currently connected user agents in an efficient way

    XMLWordPrintable

Details

    • 0

    Description

      Context

      For the Capella Health Report iniative (https://couchbasecloud.atlassian.net/browse/AV-66825), we would like to track the SDKs that are connected to a cluster. This will allow us to compare against known EoL/EoM SDKs and inform customers that they are using unsupported software.

      There are currently 2 ways to get this information however neither are suitable for our use case.

      1) Parse the memcached.log file and look for HELO logs that contain the user agent

      This is too resource intensive to run on every Capella node all the time, especially for such a small bit of information. Also, relying on logs that can change is brittle.

      2) Use the connections stat e.g. 

      /opt/couchbase/bin/mcstat -u "xxx" -P "xxx" -b travel-sample connections -j

      The problem with this is that internally kv_engine locks all connections so no other operations can proceed. This would have an impact on tail latencies https://couchbase.slack.com/archives/CFJDXSGUA/p1702312432468979

      Ask

      We would like this information to be exposed in a way that is easy for dp-agent (the agent running on all Capella nodes) to fetch without negatively impacting the performance of Couchbase Server. We don't have a preference for the exact implementation (e.g. prometheus metric labels/refactor existing connections stat).

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              trond Trond Norbye
              jake.rawsthorne Jake Rawsthorne
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty