Add folder structure to tracing feature
What does this MR do and why?
Reorganising the folder structure of the tracing components, and renaming some components accordingly.
- Added
list
anddetails
folders - Moved components to newly created folders based on which feature they belong to
- Removing
_list
_or_details
from the components name, since now redundant - Moved/renamed spec files accordingly
Close gitlab-org/opstrace/opstrace#2466 (closed)
Screenshots or screen recordings
No visual changes. File tree changed from:
Before | After |
---|---|
|
|
How to set up and validate locally
I'd expect the build/tests to fail in case something broken from this change. But still, to test locally that everything still works:
- Enable
observability_tracing
feature flag
Apply patch to load mocks ( pbpaste | git apply --allow-empty
)
pbpaste | git apply --allow-empty
) diff --git a/app/assets/javascripts/observability/client.js b/app/assets/javascripts/observability/client.js
index 8117da24cee4..fea5b170ebac 100644
--- a/app/assets/javascripts/observability/client.js
+++ b/app/assets/javascripts/observability/client.js
@@ -1,21 +1,1839 @@
+/* eslint-disable @gitlab/require-i18n-strings */
import * as Sentry from '~/sentry/sentry_browser_wrapper';
import axios from '~/lib/utils/axios_utils';
import { logError } from '~/lib/logger';
import { DEFAULT_SORTING_OPTION, SORTING_OPTIONS } from './constants';
+const MOCK_METRICS = {
+ metrics: [],
+};
+
+const MOCK_TRACES = {
+ project_id: 51792562,
+ traces: [
+ {
+ timestamp: '2023-11-10T20:39:58.981780253Z',
+ timestamp_nano: 1699648798981780253,
+ trace_id: '2b1f08cd-9d10-4ac5-90c3-47fa84ab1c80',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 931979,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:39:58.981780253Z',
+ span_id: 'D28D2485217F1874',
+ trace_id: '2b1f08cd-9d10-4ac5-90c3-47fa84ab1c80',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 931979,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:39:58.981914178Z',
+ span_id: 'CE64EF2386D5B768',
+ trace_id: '2b1f08cd-9d10-4ac5-90c3-47fa84ab1c80',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 516542,
+ parent_span_id: 'D28D2485217F1874',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:39:28.655321683Z',
+ timestamp_nano: 1699648768655321683,
+ trace_id: '68a8cc4d-1403-4561-8721-e42ac8f0ec1b',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 806467,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:39:28.655321683Z',
+ span_id: '4AA0BAF116CD904D',
+ trace_id: '68a8cc4d-1403-4561-8721-e42ac8f0ec1b',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 806467,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:39:28.655458107Z',
+ span_id: '8716FEC7EF4E8BD9',
+ trace_id: '68a8cc4d-1403-4561-8721-e42ac8f0ec1b',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 440323,
+ parent_span_id: '4AA0BAF116CD904D',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:38:58.326464308Z',
+ timestamp_nano: 1699648738326464308,
+ trace_id: '2af9172b-a326-0462-4dac-e7030928f67a',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1199391,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:38:58.326464308Z',
+ span_id: 'C8701AF08593B86B',
+ trace_id: '2af9172b-a326-0462-4dac-e7030928f67a',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1199391,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:38:58.326669557Z',
+ span_id: '5A26A5CDAAFEAAE1',
+ trace_id: '2af9172b-a326-0462-4dac-e7030928f67a',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 606424,
+ parent_span_id: 'C8701AF08593B86B',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:38:28.003531546Z',
+ timestamp_nano: 1699648708003531546,
+ trace_id: '8f6293ce-895e-8c23-8966-03b9b6b60625',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 830728,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:38:28.003531546Z',
+ span_id: '1F03B387DE6C523B',
+ trace_id: '8f6293ce-895e-8c23-8966-03b9b6b60625',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 830728,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:38:28.00366749Z',
+ span_id: 'DD8501683E1D3F89',
+ trace_id: '8f6293ce-895e-8c23-8966-03b9b6b60625',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 427162,
+ parent_span_id: '1F03B387DE6C523B',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:37:57.682713952Z',
+ timestamp_nano: 1699648677682713952,
+ trace_id: 'd057c76c-1032-59e0-8a8d-d4cbca420107',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 850928,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:37:57.682713952Z',
+ span_id: 'C57FA0DFAD04CCC1',
+ trace_id: 'd057c76c-1032-59e0-8a8d-d4cbca420107',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 850928,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:37:57.682852917Z',
+ span_id: 'CFC23BEC4B935D8F',
+ trace_id: 'd057c76c-1032-59e0-8a8d-d4cbca420107',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 467103,
+ parent_span_id: 'C57FA0DFAD04CCC1',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:37:27.360383093Z',
+ timestamp_nano: 1699648647360383093,
+ trace_id: 'a6abd9ca-2299-e964-d233-3b782c8f5679',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 851823,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:37:27.360383093Z',
+ span_id: 'B39BEA97214DDC03',
+ trace_id: 'a6abd9ca-2299-e964-d233-3b782c8f5679',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 851823,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:37:27.360521433Z',
+ span_id: '64C63AB1CC3D1640',
+ trace_id: 'a6abd9ca-2299-e964-d233-3b782c8f5679',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 455900,
+ parent_span_id: 'B39BEA97214DDC03',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:36:57.037533839Z',
+ timestamp_nano: 1699648617037533839,
+ trace_id: '10ff69ed-1bc1-c8ce-a4b5-5a3977b84119',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 978855,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:36:57.037533839Z',
+ span_id: '1319925A4440C1C3',
+ trace_id: '10ff69ed-1bc1-c8ce-a4b5-5a3977b84119',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 978855,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:36:57.037728364Z',
+ span_id: '8441716D0D8AB135',
+ trace_id: '10ff69ed-1bc1-c8ce-a4b5-5a3977b84119',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 494822,
+ parent_span_id: '1319925A4440C1C3',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:36:26.708700892Z',
+ timestamp_nano: 1699648586708700892,
+ trace_id: 'd4651599-3874-0311-4472-3a40e85d224d',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 880603,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:36:26.708700892Z',
+ span_id: 'A1545E1E3815CDAA',
+ trace_id: 'd4651599-3874-0311-4472-3a40e85d224d',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 880603,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:36:26.708836504Z',
+ span_id: '207D9EF9FB625769',
+ trace_id: 'd4651599-3874-0311-4472-3a40e85d224d',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 476058,
+ parent_span_id: 'A1545E1E3815CDAA',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:35:56.386637133Z',
+ timestamp_nano: 1699648556386637133,
+ trace_id: '6b17a799-3051-fd65-0b7e-eb90fb4d79f0',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 843868,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:35:56.386637133Z',
+ span_id: 'A1EAAAF04CB9C6B0',
+ trace_id: '6b17a799-3051-fd65-0b7e-eb90fb4d79f0',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 843868,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:35:56.386773495Z',
+ span_id: '0D2C9F1234F9D9AC',
+ trace_id: '6b17a799-3051-fd65-0b7e-eb90fb4d79f0',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 459356,
+ parent_span_id: 'A1EAAAF04CB9C6B0',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:35:26.056216951Z',
+ timestamp_nano: 1699648526056216951,
+ trace_id: '092d479e-dc8c-d362-ad06-e7dbd3b7be6d',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 808965,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:35:26.056216951Z',
+ span_id: 'FE8B4C3ED15A9172',
+ trace_id: '092d479e-dc8c-d362-ad06-e7dbd3b7be6d',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 808965,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:35:26.056352438Z',
+ span_id: '4BBD65A2D9DAA4EF',
+ trace_id: '092d479e-dc8c-d362-ad06-e7dbd3b7be6d',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 446445,
+ parent_span_id: 'FE8B4C3ED15A9172',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:34:55.734890438Z',
+ timestamp_nano: 1699648495734890438,
+ trace_id: 'ffd907a9-3f9b-d58e-c2aa-95497072a6ac',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 851323,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:34:55.734890438Z',
+ span_id: '8494E39D56D85F15',
+ trace_id: 'ffd907a9-3f9b-d58e-c2aa-95497072a6ac',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 851323,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:34:55.735027633Z',
+ span_id: '9499D63BDCB33552',
+ trace_id: 'ffd907a9-3f9b-d58e-c2aa-95497072a6ac',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 449360,
+ parent_span_id: '8494E39D56D85F15',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:34:25.405870899Z',
+ timestamp_nano: 1699648465405870899,
+ trace_id: '0949fccb-4a17-331d-6fea-a2d462f51e0d',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 977794,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:34:25.405870899Z',
+ span_id: '874A3338AA9DFFEF',
+ trace_id: '0949fccb-4a17-331d-6fea-a2d462f51e0d',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 977794,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:34:25.406008762Z',
+ span_id: '327A1E396DA0785B',
+ trace_id: '0949fccb-4a17-331d-6fea-a2d462f51e0d',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 573851,
+ parent_span_id: '874A3338AA9DFFEF',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:33:55.083875717Z',
+ timestamp_nano: 1699648435083875717,
+ trace_id: 'a5a7d3b9-20fc-f149-5083-4e9204a0e909',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 892203,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:33:55.083875717Z',
+ span_id: '769ACD2AFFFE9AF0',
+ trace_id: 'a5a7d3b9-20fc-f149-5083-4e9204a0e909',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 892203,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:33:55.084020909Z',
+ span_id: 'DC9C09BDC22AF702',
+ trace_id: 'a5a7d3b9-20fc-f149-5083-4e9204a0e909',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 503110,
+ parent_span_id: '769ACD2AFFFE9AF0',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:33:24.758178674Z',
+ timestamp_nano: 1699648404758178674,
+ trace_id: 'f77dcc68-0edf-5728-6aa2-3ffce6c7b567',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1003658,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:33:24.758178674Z',
+ span_id: '1EEA7F1D7A989EAF',
+ trace_id: 'f77dcc68-0edf-5728-6aa2-3ffce6c7b567',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1003658,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:33:24.758322761Z',
+ span_id: '3567BE817CA810C0',
+ trace_id: 'f77dcc68-0edf-5728-6aa2-3ffce6c7b567',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 573061,
+ parent_span_id: '1EEA7F1D7A989EAF',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:32:54.432701561Z',
+ timestamp_nano: 1699648374432701561,
+ trace_id: 'ead5dbd5-285a-2938-bcb3-3df6fb2d46a2',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1008615,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:32:54.432701561Z',
+ span_id: 'D0A20C4FC5BA12EE',
+ trace_id: 'ead5dbd5-285a-2938-bcb3-3df6fb2d46a2',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1008615,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:32:54.432853834Z',
+ span_id: 'C4590032C68430A1',
+ trace_id: 'ead5dbd5-285a-2938-bcb3-3df6fb2d46a2',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 581224,
+ parent_span_id: 'D0A20C4FC5BA12EE',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:32:24.111395186Z',
+ timestamp_nano: 1699648344111395186,
+ trace_id: '5ff3e679-f8ee-3cfb-2ae6-c913de99d5d2',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 883332,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:32:24.111395186Z',
+ span_id: '44A97820F68A986D',
+ trace_id: '5ff3e679-f8ee-3cfb-2ae6-c913de99d5d2',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 883332,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:32:24.111530756Z',
+ span_id: 'C6443860F2808A0A',
+ trace_id: '5ff3e679-f8ee-3cfb-2ae6-c913de99d5d2',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 464272,
+ parent_span_id: '44A97820F68A986D',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:31:53.791434767Z',
+ timestamp_nano: 1699648313791434767,
+ trace_id: '68ae4e4b-67df-8d5d-5f6f-9b2f8bc9a977',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 883665,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:31:53.791434767Z',
+ span_id: '5186AB66CAAC1A3F',
+ trace_id: '68ae4e4b-67df-8d5d-5f6f-9b2f8bc9a977',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 883665,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:31:53.791570129Z',
+ span_id: '3F464CB178A3B0C1',
+ trace_id: '68ae4e4b-67df-8d5d-5f6f-9b2f8bc9a977',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 502923,
+ parent_span_id: '5186AB66CAAC1A3F',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:31:23.470123394Z',
+ timestamp_nano: 1699648283470123394,
+ trace_id: '18b115c6-a015-e2d3-995d-8aa1ce1267a6',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 835080,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:31:23.470123394Z',
+ span_id: '66AD92D16558ABA3',
+ trace_id: '18b115c6-a015-e2d3-995d-8aa1ce1267a6',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 835080,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:31:23.470260838Z',
+ span_id: '47AC799697009964',
+ trace_id: '18b115c6-a015-e2d3-995d-8aa1ce1267a6',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 447966,
+ parent_span_id: '66AD92D16558ABA3',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:30:53.144711276Z',
+ timestamp_nano: 1699648253144711276,
+ trace_id: '8cf45d23-c02a-17ed-4882-e53bd50fd7b0',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 845389,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:30:53.144711276Z',
+ span_id: '8285E42F3DDD3AD4',
+ trace_id: '8cf45d23-c02a-17ed-4882-e53bd50fd7b0',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 845389,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:30:53.144844243Z',
+ span_id: 'F0B02A56297A9DD5',
+ trace_id: '8cf45d23-c02a-17ed-4882-e53bd50fd7b0',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 458170,
+ parent_span_id: '8285E42F3DDD3AD4',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:30:22.822889565Z',
+ timestamp_nano: 1699648222822889565,
+ trace_id: 'e7b6b2ea-baed-f88d-62ca-86cdbf612058',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1040269,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:30:22.822889565Z',
+ span_id: '99A4BF72B5B5C20A',
+ trace_id: 'e7b6b2ea-baed-f88d-62ca-86cdbf612058',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1040269,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:30:22.823051834Z',
+ span_id: 'D83222D1C57723E3',
+ trace_id: 'e7b6b2ea-baed-f88d-62ca-86cdbf612058',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 499153,
+ parent_span_id: '99A4BF72B5B5C20A',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:29:52.497430655Z',
+ timestamp_nano: 1699648192497430655,
+ trace_id: '49af06a6-76c1-d3d6-11f9-0050da1bc0c2',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 910258,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:29:52.497430655Z',
+ span_id: '69AB0077B58D1F14',
+ trace_id: '49af06a6-76c1-d3d6-11f9-0050da1bc0c2',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 910258,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:29:52.497564663Z',
+ span_id: '7FBB5B48EFE92E78',
+ trace_id: '49af06a6-76c1-d3d6-11f9-0050da1bc0c2',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 511315,
+ parent_span_id: '69AB0077B58D1F14',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:29:22.173997177Z',
+ timestamp_nano: 1699648162173997177,
+ trace_id: '979ea540-e302-6b7d-fb72-8a5d286c3c00',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 798637,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:29:22.173997177Z',
+ span_id: 'DA378E9248B68FAB',
+ trace_id: '979ea540-e302-6b7d-fb72-8a5d286c3c00',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 798637,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:29:22.174134143Z',
+ span_id: '7FB8816B83AED5DB',
+ trace_id: '979ea540-e302-6b7d-fb72-8a5d286c3c00',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 431909,
+ parent_span_id: 'DA378E9248B68FAB',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:28:51.84601572Z',
+ timestamp_nano: 1699648131846015720,
+ trace_id: '43a00e64-d793-133f-6915-7b5c7bc6aee3',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 875210,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:28:51.84601572Z',
+ span_id: 'C8D36F2EFB1DEEF4',
+ trace_id: '43a00e64-d793-133f-6915-7b5c7bc6aee3',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 875210,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:28:51.846164535Z',
+ span_id: '012E3DADAB0F81CB',
+ trace_id: '43a00e64-d793-133f-6915-7b5c7bc6aee3',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 469540,
+ parent_span_id: 'C8D36F2EFB1DEEF4',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:28:21.524085242Z',
+ timestamp_nano: 1699648101524085242,
+ trace_id: 'a8ee039f-6710-383d-f8b0-3f61996551c1',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 779207,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:28:21.524085242Z',
+ span_id: 'B14A8ADA78E81C7F',
+ trace_id: 'a8ee039f-6710-383d-f8b0-3f61996551c1',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 779207,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:28:21.524219813Z',
+ span_id: 'E476A11919958DAA',
+ trace_id: 'a8ee039f-6710-383d-f8b0-3f61996551c1',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 414687,
+ parent_span_id: 'B14A8ADA78E81C7F',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:27:51.201126948Z',
+ timestamp_nano: 1699648071201126948,
+ trace_id: 'e3f432b3-8d9a-edb1-208d-27b811d27a1f',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 905927,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:27:51.201126948Z',
+ span_id: 'DE43A73333A89133',
+ trace_id: 'e3f432b3-8d9a-edb1-208d-27b811d27a1f',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 905927,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:27:51.201263436Z',
+ span_id: '250D7E7618A40183',
+ trace_id: 'e3f432b3-8d9a-edb1-208d-27b811d27a1f',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 509877,
+ parent_span_id: 'DE43A73333A89133',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:27:20.874981065Z',
+ timestamp_nano: 1699648040874981065,
+ trace_id: 'c66367f9-2dd0-6f5a-babe-0d436a0c0a4a',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 885435,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:27:20.874981065Z',
+ span_id: '38EB6CB0A6B75D6D',
+ trace_id: 'c66367f9-2dd0-6f5a-babe-0d436a0c0a4a',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 885435,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:27:20.875118552Z',
+ span_id: '61BB491D4CCE23D4',
+ trace_id: 'c66367f9-2dd0-6f5a-babe-0d436a0c0a4a',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 486345,
+ parent_span_id: '38EB6CB0A6B75D6D',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:26:50.554613103Z',
+ timestamp_nano: 1699648010554613103,
+ trace_id: 'caf07585-5f85-c6fa-7730-76916e59c23e',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 862424,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:26:50.554613103Z',
+ span_id: 'F2CB27DCDA432D8C',
+ trace_id: 'caf07585-5f85-c6fa-7730-76916e59c23e',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 862424,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:26:50.554750882Z',
+ span_id: '78F96B2CF9835E95',
+ trace_id: 'caf07585-5f85-c6fa-7730-76916e59c23e',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 459418,
+ parent_span_id: 'F2CB27DCDA432D8C',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:26:20.233395441Z',
+ timestamp_nano: 1699647980233395441,
+ trace_id: '0979cdf1-4828-4232-ad20-ecc9765ff8f6',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 797158,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:26:20.233395441Z',
+ span_id: 'A2EB2C0F7C96FD77',
+ trace_id: '0979cdf1-4828-4232-ad20-ecc9765ff8f6',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 797158,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:26:20.233529325Z',
+ span_id: '873F58BCC1CEBB64',
+ trace_id: '0979cdf1-4828-4232-ad20-ecc9765ff8f6',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 438531,
+ parent_span_id: 'A2EB2C0F7C96FD77',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:25:49.915009576Z',
+ timestamp_nano: 1699647949915009576,
+ trace_id: 'a1ebd753-4562-7424-15cb-141075c13740',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 862632,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:25:49.915009576Z',
+ span_id: '5EA162001FB025C7',
+ trace_id: 'a1ebd753-4562-7424-15cb-141075c13740',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 862632,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:25:49.91514552Z',
+ span_id: 'EB90A0BE08A86A1E',
+ trace_id: 'a1ebd753-4562-7424-15cb-141075c13740',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 462044,
+ parent_span_id: '5EA162001FB025C7',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:25:19.595243059Z',
+ timestamp_nano: 1699647919595243059,
+ trace_id: '89307c44-a817-9c57-7d1a-0084e4e5ba04',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 960280,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:25:19.595243059Z',
+ span_id: 'BAB124810A442358',
+ trace_id: '89307c44-a817-9c57-7d1a-0084e4e5ba04',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 960280,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:25:19.595382441Z',
+ span_id: 'A485599A8A80401B',
+ trace_id: '89307c44-a817-9c57-7d1a-0084e4e5ba04',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 532660,
+ parent_span_id: 'BAB124810A442358',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:24:49.271757832Z',
+ timestamp_nano: 1699647889271757832,
+ trace_id: '381dca29-2f6f-6e27-b977-4acf7e29f297',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 818586,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:24:49.271757832Z',
+ span_id: '1A55E64543222DD9',
+ trace_id: '381dca29-2f6f-6e27-b977-4acf7e29f297',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 818586,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:24:49.27189309Z',
+ span_id: 'D9E4137E5F8EC987',
+ trace_id: '381dca29-2f6f-6e27-b977-4acf7e29f297',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 441613,
+ parent_span_id: '1A55E64543222DD9',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:24:18.946577955Z',
+ timestamp_nano: 1699647858946577955,
+ trace_id: '0d48b1aa-8158-e54f-b53d-1325bca0a93c',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1021880,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:24:18.946577955Z',
+ span_id: '87F304B4E7A36724',
+ trace_id: '0d48b1aa-8158-e54f-b53d-1325bca0a93c',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1021880,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:24:18.946717377Z',
+ span_id: '05D13EBAB9C5DE51',
+ trace_id: '0d48b1aa-8158-e54f-b53d-1325bca0a93c',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 578704,
+ parent_span_id: '87F304B4E7A36724',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:23:48.605471016Z',
+ timestamp_nano: 1699647828605471016,
+ trace_id: 'bf596b64-eb3d-302c-8e1d-1f26731e3de9',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 803822,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:23:48.605471016Z',
+ span_id: '37560A4A3F9D4B19',
+ trace_id: 'bf596b64-eb3d-302c-8e1d-1f26731e3de9',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 803822,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:23:48.605610564Z',
+ span_id: 'FBBDE021C44A7587',
+ trace_id: 'bf596b64-eb3d-302c-8e1d-1f26731e3de9',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 434471,
+ parent_span_id: '37560A4A3F9D4B19',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:23:18.285577988Z',
+ timestamp_nano: 1699647798285577988,
+ trace_id: '4c39f675-06f0-a25e-96c8-f1998aafb7f8',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 886122,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:23:18.285577988Z',
+ span_id: '1BD42CC7AE14D32F',
+ trace_id: '4c39f675-06f0-a25e-96c8-f1998aafb7f8',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 886122,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:23:18.285715475Z',
+ span_id: 'E69D59559318331A',
+ trace_id: '4c39f675-06f0-a25e-96c8-f1998aafb7f8',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 471996,
+ parent_span_id: '1BD42CC7AE14D32F',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:22:47.966736431Z',
+ timestamp_nano: 1699647767966736431,
+ trace_id: '90bdfd4d-04c1-1647-74f5-5e70b8e43144',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1093227,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:22:47.966736431Z',
+ span_id: '33EC68F3077A9D4C',
+ trace_id: '90bdfd4d-04c1-1647-74f5-5e70b8e43144',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1093227,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:22:47.966873251Z',
+ span_id: '16BE6710773AC7C8',
+ trace_id: '90bdfd4d-04c1-1647-74f5-5e70b8e43144',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 672584,
+ parent_span_id: '33EC68F3077A9D4C',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:22:17.637505791Z',
+ timestamp_nano: 1699647737637505791,
+ trace_id: 'c029b305-e089-9b91-4d20-293986b76526',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 911820,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:22:17.637505791Z',
+ span_id: 'B85DC30F3195DDB5',
+ trace_id: 'c029b305-e089-9b91-4d20-293986b76526',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 911820,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:22:17.637648421Z',
+ span_id: '32D8076C39427D0B',
+ trace_id: 'c029b305-e089-9b91-4d20-293986b76526',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 516500,
+ parent_span_id: 'B85DC30F3195DDB5',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:21:47.312279016Z',
+ timestamp_nano: 1699647707312279016,
+ trace_id: '18741da8-bc06-7b01-cd27-726d69616912',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 971150,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:21:47.312279016Z',
+ span_id: '90A47BB96318050B',
+ trace_id: '18741da8-bc06-7b01-cd27-726d69616912',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 971150,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:21:47.312432037Z',
+ span_id: '0FF08F87E70BD6C9',
+ trace_id: '18741da8-bc06-7b01-cd27-726d69616912',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 517375,
+ parent_span_id: '90A47BB96318050B',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:21:16.983916962Z',
+ timestamp_nano: 1699647676983916962,
+ trace_id: '09ce7c34-9453-1f38-3451-e2e0b1fd8a94',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 914006,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:21:16.983916962Z',
+ span_id: 'E61C0F1AA6566EDB',
+ trace_id: '09ce7c34-9453-1f38-3451-e2e0b1fd8a94',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 914006,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:21:16.984054843Z',
+ span_id: '53C232B3E6C19608',
+ trace_id: '09ce7c34-9453-1f38-3451-e2e0b1fd8a94',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 538284,
+ parent_span_id: 'E61C0F1AA6566EDB',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:20:46.658669237Z',
+ timestamp_nano: 1699647646658669237,
+ trace_id: '0138f075-45bf-feb4-449a-290cfbc7f727',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 996431,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:20:46.658669237Z',
+ span_id: '7C2214F6A880D4FD',
+ trace_id: '0138f075-45bf-feb4-449a-290cfbc7f727',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 996431,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:20:46.658834983Z',
+ span_id: 'AF2DF5D488786691',
+ trace_id: '0138f075-45bf-feb4-449a-290cfbc7f727',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 533889,
+ parent_span_id: '7C2214F6A880D4FD',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:20:16.333573429Z',
+ timestamp_nano: 1699647616333573429,
+ trace_id: 'fb0139bf-a578-d2cf-f2a2-272d5ec7c8f4',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 980939,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:20:16.333573429Z',
+ span_id: '40FA4A6CDED2D192',
+ trace_id: 'fb0139bf-a578-d2cf-f2a2-272d5ec7c8f4',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 980939,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:20:16.333716787Z',
+ span_id: '77705A3B9A677CDF',
+ trace_id: 'fb0139bf-a578-d2cf-f2a2-272d5ec7c8f4',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 544449,
+ parent_span_id: '40FA4A6CDED2D192',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:19:46.009735657Z',
+ timestamp_nano: 1699647586009735657,
+ trace_id: 'cfd1cc40-4d83-2436-3b4b-b20179bfd75f',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1019527,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:19:46.009735657Z',
+ span_id: 'ED20E3008F1C48BC',
+ trace_id: 'cfd1cc40-4d83-2436-3b4b-b20179bfd75f',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1019527,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:19:46.00987354Z',
+ span_id: 'BD9B04925F18193A',
+ trace_id: 'cfd1cc40-4d83-2436-3b4b-b20179bfd75f',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 579807,
+ parent_span_id: 'ED20E3008F1C48BC',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:19:15.685857256Z',
+ timestamp_nano: 1699647555685857256,
+ trace_id: 'a992e51d-cb5f-ffd9-6205-687c4aad1dd6',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1091476,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:19:15.685857256Z',
+ span_id: '0EA3AFBF5F81E362',
+ trace_id: 'a992e51d-cb5f-ffd9-6205-687c4aad1dd6',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1091476,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:19:15.685999281Z',
+ span_id: '7C4C175BA2635BE7',
+ trace_id: 'a992e51d-cb5f-ffd9-6205-687c4aad1dd6',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 637265,
+ parent_span_id: '0EA3AFBF5F81E362',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:18:45.361406959Z',
+ timestamp_nano: 1699647525361406959,
+ trace_id: 'c86b126b-6cc4-d1e3-a2d7-6d2aecb51b01',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 891017,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:18:45.361406959Z',
+ span_id: 'B7D59FA8AFB1301C',
+ trace_id: 'c86b126b-6cc4-d1e3-a2d7-6d2aecb51b01',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 891017,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:18:45.36154932Z',
+ span_id: '4810F4A08AB0757A',
+ trace_id: 'c86b126b-6cc4-d1e3-a2d7-6d2aecb51b01',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 501109,
+ parent_span_id: 'B7D59FA8AFB1301C',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:18:15.038387356Z',
+ timestamp_nano: 1699647495038387356,
+ trace_id: 'ce9dd49b-1028-a025-802b-4df905e9efc0',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 1015320,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:18:15.038387356Z',
+ span_id: '411A86E697E28B34',
+ trace_id: 'ce9dd49b-1028-a025-802b-4df905e9efc0',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 1015320,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:18:15.038547958Z',
+ span_id: '7857560A34E10988',
+ trace_id: 'ce9dd49b-1028-a025-802b-4df905e9efc0',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 533640,
+ parent_span_id: '411A86E697E28B34',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:17:44.712107381Z',
+ timestamp_nano: 1699647464712107381,
+ trace_id: '9800553e-56cd-5cab-a320-d1f1c2c477c5',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 794180,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:17:44.712107381Z',
+ span_id: '305ACFBC8009C7EB',
+ trace_id: '9800553e-56cd-5cab-a320-d1f1c2c477c5',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 794180,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:17:44.712259716Z',
+ span_id: 'E7CD8EA63314B7FD',
+ trace_id: '9800553e-56cd-5cab-a320-d1f1c2c477c5',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 414770,
+ parent_span_id: '305ACFBC8009C7EB',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:17:14.374617048Z',
+ timestamp_nano: 1699647434374617048,
+ trace_id: '2fcf1753-7f6d-a7d5-b555-7d656870ff0b',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 885518,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:17:14.374617048Z',
+ span_id: '637555C375163B9E',
+ trace_id: '2fcf1753-7f6d-a7d5-b555-7d656870ff0b',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 885518,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:17:14.374754845Z',
+ span_id: '257685477066FD70',
+ trace_id: '2fcf1753-7f6d-a7d5-b555-7d656870ff0b',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 517959,
+ parent_span_id: '637555C375163B9E',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:16:44.049093142Z',
+ timestamp_nano: 1699647404049093142,
+ trace_id: 'dd2ebaa3-37b2-6bad-ead5-0b814a010e67',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 854135,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:16:44.049093142Z',
+ span_id: 'A089F3496CCEEF41',
+ trace_id: 'dd2ebaa3-37b2-6bad-ead5-0b814a010e67',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 854135,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:16:44.049227442Z',
+ span_id: '7BF1FF9266FD76FF',
+ trace_id: 'dd2ebaa3-37b2-6bad-ead5-0b814a010e67',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 476142,
+ parent_span_id: 'A089F3496CCEEF41',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:16:13.728074983Z',
+ timestamp_nano: 1699647373728074983,
+ trace_id: '2b6e6b28-f993-3770-c7f1-70f4a85b1407',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 852074,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:16:13.728074983Z',
+ span_id: '33E1F2691AF92F8E',
+ trace_id: '2b6e6b28-f993-3770-c7f1-70f4a85b1407',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 852074,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:16:13.72821199Z',
+ span_id: '4EF4C6F52A6E4AB8',
+ trace_id: '2b6e6b28-f993-3770-c7f1-70f4a85b1407',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 481182,
+ parent_span_id: '33E1F2691AF92F8E',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:15:43.39943271Z',
+ timestamp_nano: 1699647343399432710,
+ trace_id: '79e24be5-2a34-ab5c-defe-75e9deaefcc5',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 868983,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:15:43.39943271Z',
+ span_id: '6EF1FEFAA8B39464',
+ trace_id: '79e24be5-2a34-ab5c-defe-75e9deaefcc5',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 868983,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:15:43.399567552Z',
+ span_id: 'B321B25C33A6B4DF',
+ trace_id: '79e24be5-2a34-ab5c-defe-75e9deaefcc5',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 483346,
+ parent_span_id: '6EF1FEFAA8B39464',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:15:13.078483211Z',
+ timestamp_nano: 1699647313078483211,
+ trace_id: 'a6600ef8-649b-ecab-dbe1-487beec5f189',
+ service_name: 'featureflagservice',
+ operation: '/',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 850865,
+ spans: [
+ {
+ timestamp: '2023-11-10T20:15:13.078483211Z',
+ span_id: 'CF467B1AE3159CB2',
+ trace_id: 'a6600ef8-649b-ecab-dbe1-487beec5f189',
+ service_name: 'featureflagservice',
+ operation: '/',
+ duration_nano: 850865,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-10T20:15:13.0786157Z',
+ span_id: '3190C6D5A12734C0',
+ trace_id: 'a6600ef8-649b-ecab-dbe1-487beec5f189',
+ service_name: 'featureflagservice',
+ operation: 'featureflagservice.repo.query:featureflags',
+ duration_nano: 464041,
+ parent_span_id: 'CF467B1AE3159CB2',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 2,
+ totalSpans: 2,
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_traces: 500,
+ next_page_token:
+ 'eyJsYXN0X3NlZW5fdGltZXN0YW1wIjoiMjAyMy0xMS0xMCAxNjoyNzo0Ny4xMDQ0NzcwOTIiLCJzZWVuX3RyYWNlX2lkcyI6WyI2ZTI0NjFjZS04MWVmLTRkYWItN2ZmYS1hMTRlMDRiODhmNWUiXX0=',
+};
+
function reportErrorAndThrow(e) {
logError(e);
Sentry.captureException(e);
throw e;
}
+
+function mockReturnDataWithDelay(data) {
+ return new Promise((resolve) => {
+ setTimeout(() => resolve(data), 500);
+ });
+}
+
// Provisioning API spec: https://gitlab.com/gitlab-org/opstrace/opstrace/-/blob/main/provisioning-api/pkg/provisioningapi/routes.go#L59
async function enableObservability(provisioningUrl) {
try {
- // Note: axios.put(url, undefined, {withCredentials: true}) does not send cookies properly, so need to use the API below for the correct behaviour
- return await axios(provisioningUrl, {
- method: 'put',
- withCredentials: true,
- });
+ console.log('[DEBUG] Enabling Observability');
+ return mockReturnDataWithDelay();
} catch (e) {
return reportErrorAndThrow(e);
}
@@ -24,11 +1842,12 @@ async function enableObservability(provisioningUrl) {
// Provisioning API spec: https://gitlab.com/gitlab-org/opstrace/opstrace/-/blob/main/provisioning-api/pkg/provisioningapi/routes.go#L37
async function isObservabilityEnabled(provisioningUrl) {
try {
- const { data } = await axios.get(provisioningUrl, { withCredentials: true });
+ console.log('[DEBUG] Checking Observability Enabled');
+ const data = { status: 'ready' };
if (data && data.status) {
// we currently ignore the 'status' payload and just check if the request was successful
// We might improve this as part of https://gitlab.com/gitlab-org/opstrace/opstrace/-/issues/2315
- return true;
+ return mockReturnDataWithDelay(true);
}
} catch (e) {
if (e.response.status === 404) {
@@ -40,19 +1859,119 @@ async function isObservabilityEnabled(provisioningUrl) {
}
async function fetchTrace(tracingUrl, traceId) {
- try {
- if (!traceId) {
- throw new Error('traceId is required.');
- }
-
- const { data } = await axios.get(`${tracingUrl}/${traceId}`, {
- withCredentials: true,
- });
-
- return data;
- } catch (e) {
- return reportErrorAndThrow(e);
- }
+ console.log(`[DEBUG] Fetch trace ${traceId} from ${tracingUrl}`);
+ return mockReturnDataWithDelay({
+ timestamp: '2023-11-06T14:58:38.892999936Z',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'frontend',
+ operation: 'HTTP POST',
+ status_code: 'STATUS_CODE_UNSET',
+ duration_nano: 6870528,
+ spans: [
+ {
+ timestamp: '2023-11-06T14:58:38.892999936Z',
+ span_id: '86C2CAF54D03A839',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'frontend',
+ operation: 'HTTP POST',
+ duration_nano: 6870528,
+ parent_span_id: '',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-06T14:58:38.792999900Z',
+ span_id: '5E95BA1D4DCA629C',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'frontend',
+ operation: 'grpc.oteldemo.CartService/AddItem',
+ duration_nano: 4674123,
+ parent_span_id: '86C2CAF54D03A839',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-06T14:58:38.897313Z',
+ span_id: '79A1A33CCC36DC44',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'cartservice',
+ operation: 'oteldemo.CartService/AddItem',
+ duration_nano: 1138200,
+ parent_span_id: '5E95BA1D4DCA629C',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-06T14:58:38.8974467Z',
+ span_id: 'B43E6CFFD9AF4A68',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'cartservice',
+ operation: 'HGET',
+ duration_nano: 360700,
+ parent_span_id: '79A1A33CCC36DC44',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-06T14:58:38.8978547Z',
+ span_id: '80169B2C61AF41EF',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'cartservice',
+ operation: 'HMSET',
+ duration_nano: 249500,
+ parent_span_id: '79A1A33CCC36DC44',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-06T14:58:38.897999872Z',
+ span_id: '6C4E28FE982F2F73',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'frontend',
+ operation: 'grpc.oteldemo.CartService/GetCart',
+ duration_nano: 1346816,
+ parent_span_id: '86C2CAF54D03A839',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-06T14:58:38.8981128Z',
+ span_id: '427F06B0B498A482',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'cartservice',
+ operation: 'EXPIRE',
+ duration_nano: 252200,
+ parent_span_id: '79A1A33CCC36DC44',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-06T14:58:38.8995004Z',
+ span_id: 'FF45FE0F8C45FD68',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'cartservice',
+ operation: 'oteldemo.CartService/GetCart',
+ duration_nano: 512400,
+ parent_span_id: '6C4E28FE982F2F73',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ {
+ timestamp: '2023-11-06T14:58:38.8996313Z',
+ span_id: 'F6D0D268E8A84A38',
+ trace_id: 'cfa0e008-002f-5505-0d05-31855d493ea0',
+ service_name: 'cartservice',
+ operation: 'HGET',
+ duration_nano: 290700,
+ parent_span_id: 'FF45FE0F8C45FD68',
+ status_code: 'STATUS_CODE_UNSET',
+ statusCode: 'STATUS_CODE_UNSET',
+ },
+ ],
+ total_spans: 9,
+ totalSpans: 9,
+ statusCode: 'STATUS_CODE_UNSET',
+ });
}
/**
@@ -198,15 +2117,15 @@ async function fetchTraces(tracingUrl, { filters = {}, pageToken, pageSize, sort
: DEFAULT_SORTING_OPTION;
params.append('sort', sortOrder);
+ console.log(`[DEBUG] Fetching traces with params: ${params.toString()}`);
+
try {
- const { data } = await axios.get(tracingUrl, {
- withCredentials: true,
- params,
- });
+ const data = MOCK_TRACES;
+
if (!Array.isArray(data.traces)) {
throw new Error('traces are missing/invalid in the response'); // eslint-disable-line @gitlab/require-i18n-strings
}
- return data;
+ return mockReturnDataWithDelay(data);
} catch (e) {
return reportErrorAndThrow(e);
}
@@ -214,15 +2133,17 @@ async function fetchTraces(tracingUrl, { filters = {}, pageToken, pageSize, sort
async function fetchServices(servicesUrl) {
try {
- const { data } = await axios.get(servicesUrl, {
- withCredentials: true,
- });
+ console.log(`[DEBUG] Fetching services from ${servicesUrl}`);
+ const uniqueServices = new Set(
+ MOCK_TRACES.traces.map((t) => t.spans.map((s) => s.service_name)).flat(),
+ );
+ const data = { services: Array.from(uniqueServices).map((s) => ({ name: s })) };
if (!Array.isArray(data.services)) {
throw new Error('failed to fetch services. invalid response'); // eslint-disable-line @gitlab/require-i18n-strings
}
- return data.services;
+ return mockReturnDataWithDelay(data.services);
} catch (e) {
return reportErrorAndThrow(e);
}
@@ -237,15 +2158,21 @@ async function fetchOperations(operationsUrl, serviceName) {
throw new Error('fetchOperations() - operationsUrl must contain $SERVICE_NAME$');
}
const url = operationsUrl.replace('$SERVICE_NAME$', serviceName);
- const { data } = await axios.get(url, {
- withCredentials: true,
- });
+
+ console.log('[DEBUG] fetching operations suggestions from', url); // eslint-disable-line @gitlab/require-i18n-strings
+ const uniqOps = new Set(
+ MOCK_TRACES.traces
+ .map((t) => t.spans.filter((s) => s.service_name === serviceName))
+ .flat()
+ .map((s) => s.operation),
+ );
+ const data = { operations: Array.from(uniqOps).map((s) => ({ name: s })) };
if (!Array.isArray(data.operations)) {
throw new Error('failed to fetch operations. invalid response'); // eslint-disable-line @gitlab/require-i18n-strings
}
- return data.operations;
+ return mockReturnDataWithDelay(data.operations);
} catch (e) {
return reportErrorAndThrow(e);
}
@@ -268,14 +2195,12 @@ async function fetchMetrics(metricsUrl, { filters = {}, limit } = {}) {
}
}
}
- const { data } = await axios.get(metricsUrl, {
- withCredentials: true,
- params,
- });
+ console.log(`[DEBUG] Fetching metrics with params: ${params.toString()}`);
+ const data = MOCK_METRICS;
if (!Array.isArray(data.metrics)) {
throw new Error('metrics are missing/invalid in the response'); // eslint-disable-line @gitlab/require-i18n-strings
}
- return data;
+ return mockReturnDataWithDelay(data);
} catch (e) {
return reportErrorAndThrow(e);
}
@@ -284,58 +2209,7 @@ async function fetchMetrics(metricsUrl, { filters = {}, limit } = {}) {
async function fetchMetric() {
// TODO https://gitlab.com/gitlab-org/opstrace/opstrace/-/work_items/2545 Load metric from API
/* eslint-disable @gitlab/require-i18n-strings */
- return [
- {
- name: 'container_cpu_usage_seconds_total',
- description: 'System disk operations',
- type: 'Gauge',
- unit: 'gb',
- attributes: {
- beta_kubernetes_io_arch: 'amd64',
- beta_kubernetes_io_instance_type: 'n1-standard-4',
- beta_kubernetes_io_os: 'linux',
- env: 'production',
- },
- values: [
- [1700118610000 * 1e6, 0.25595267476015443],
- [1700118660000 * 1e6, 0.1881374588830907],
- [1700118720000 * 1e6, 0.28915416028993485],
- [1700118780000 * 1e6, 0.29304883966696416],
- [1700118840000 * 1e6, 0.2657727031708884],
- [1700118900000 * 1e6, 0.24415948639572538],
- [1700118960000 * 1e6, 0.32778875228243076],
- [1700119020000 * 1e6, 0.9658100987444416],
- [1700119080000 * 1e6, 1.0604918827864345],
- [1700119140000 * 1e6, 1.0205790879854122],
- [1700119200000 * 1e6, 0.868291210099945],
- ],
- },
- {
- name: 'container_cpu_usage_seconds_total',
- description: 'System disk operations',
- type: 'Gauge',
- unit: 'gb',
- attributes: {
- beta_kubernetes_io_arch: 'amd64',
- beta_kubernetes_io_instance_type: 'n1-standard-4',
- beta_kubernetes_io_os: 'linux',
- env: 'staging',
- },
- values: [
- [1700118600000 * 1e6, 0.3559526747601544],
- [1700118660000 * 1e6, 0.1881374588830907],
- [1700118720000 * 1e6, 0.7891541602899349],
- [1700118780000 * 1e6, 0.6930488396669642],
- [1700118840000 * 1e6, 0.2959927031708884],
- [1700118900000 * 1e6, 0.34415948639572536],
- [1700118960000 * 1e6, 0.39778875228243077],
- [1700119020000 * 1e6, 1.2658100987444416],
- [1700119080000 * 1e6, 3.0604918827864345],
- [1700119140000 * 1e6, 3.0205790879854124],
- [1700119200000 * 1e6, 0.888291210099945],
- ],
- },
- ];
+ return [];
/* eslint-enable @gitlab/require-i18n-strings */
}
diff --git a/app/assets/javascripts/observability/components/observability_container.vue b/app/assets/javascripts/observability/components/observability_container.vue
index b89c2624f81c..f6cbf7ee771f 100644
--- a/app/assets/javascripts/observability/components/observability_container.vue
+++ b/app/assets/javascripts/observability/components/observability_container.vue
@@ -27,12 +27,12 @@ export default {
// TODO: Improve local GDK dev experience with tracing https://gitlab.com/gitlab-org/opstrace/opstrace/-/issues/2308
// Uncomment the lines below to to test this locally
- // setTimeout(() => {
- // this.messageHandler({
- // data: { type: 'AUTH_COMPLETION', status: 'success' },
- // origin: new URL(this.oauthUrl).origin,
- // });
- // }, 2000);
+ setTimeout(() => {
+ this.messageHandler({
+ data: { type: 'AUTH_COMPLETION', status: 'success' },
+ origin: new URL(this.apiConfig.oauthUrl).origin,
+ });
+ }, 2000);
},
destroyed() {
window.removeEventListener('message', this.messageHandler);
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Daniele Rossetti