Extend OTEL server API with alternative path for serverStatus

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Networking & Observability
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Currently, OTEL server API exposes its metrics under "otelMetrics" section in serverStatus response automatically appending the measurement unit at the end of the metric name.

      We need an alternative API for exposing OTEL metrics in serverStatus response for better consistency with existent metrics.

      For instance, instead of

      auto& gCursorsTotalOpened = otel::metrics::MetricsService::instance().createInt64Counter(
          otel::metrics::MetricNames::kChangeStreamCursorsTotalOpened,
          "Total number of change stream cursors opened.",
          otel::metrics::MetricUnit::kCursors,
          {.inServerStatus = true});
      

      we need the following:

      auto& gCursorsTotalOpened = otel::metrics::MetricsService::instance().createInt64Counter(
          otel::metrics::MetricNames::kChangeStreamCursorsTotalOpened,
          "Total number of change stream cursors opened.",
          otel::metrics::MetricUnit::kCursors,
          "metrics.changeStreams.cursor.totalOpened");
      

      And instead of the current output:

      "otelMetrics": {
          "change_streams.cursor.total_opened_cursors": {
              "$numberLong": "0"
          },
       ...
      }
      

      we need the following:

      "metrics": {
          "changeStreams": {
              "cursor": {
                  "totalOpened": {
                      "$numberLong": "0"
                  },
                  ...
              },
              ...
           },
           ...
      }
      

            Assignee:
            Unassigned
            Reporter:
            Romans Kasperovics
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: