804 lines
18 KiB
TypeScript
804 lines
18 KiB
TypeScript
import { FieldType, MutableDataFrame } from '@grafana/data';
|
|
|
|
export const otlpDataFrameFromResponse = new MutableDataFrame({
|
|
meta: {
|
|
preferredVisualisationType: 'trace',
|
|
custom: {
|
|
traceFormat: 'otlp',
|
|
},
|
|
},
|
|
fields: [
|
|
{
|
|
name: 'traceID',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['60ba2abb44f13eae'],
|
|
},
|
|
{
|
|
name: 'spanID',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['726b5e30102fc0d0'],
|
|
},
|
|
{
|
|
name: 'parentSpanID',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['398f0f21a3db99ae'],
|
|
},
|
|
{
|
|
name: 'operationName',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['HTTP GET - root'],
|
|
},
|
|
{
|
|
name: 'serviceName',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['db'],
|
|
},
|
|
{
|
|
name: 'kind',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['client'],
|
|
},
|
|
{
|
|
name: 'statusCode',
|
|
type: FieldType.number,
|
|
config: {},
|
|
values: [2],
|
|
},
|
|
{
|
|
name: 'statusMessage',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['message'],
|
|
},
|
|
{
|
|
name: 'instrumentationLibraryName',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['libraryName'],
|
|
},
|
|
{
|
|
name: 'instrumentationLibraryVersion',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['libraryVersion'],
|
|
},
|
|
{
|
|
name: 'traceState',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['traceState'],
|
|
},
|
|
{
|
|
name: 'serviceTags',
|
|
type: FieldType.other,
|
|
config: {},
|
|
values: [
|
|
[
|
|
{
|
|
key: 'service.name',
|
|
value: 'db',
|
|
},
|
|
{
|
|
key: 'job',
|
|
value: 'tns/db',
|
|
},
|
|
{
|
|
key: 'opencensus.exporterversion',
|
|
value: 'Jaeger-Go-2.22.1',
|
|
},
|
|
{
|
|
key: 'host.name',
|
|
value: '63d16772b4a2',
|
|
},
|
|
{
|
|
key: 'ip',
|
|
value: '0.0.0.0',
|
|
},
|
|
{
|
|
key: 'client-uuid',
|
|
value: '39fb01637a579639',
|
|
},
|
|
],
|
|
],
|
|
},
|
|
{
|
|
name: 'startTime',
|
|
type: FieldType.number,
|
|
config: {},
|
|
values: [1627471657255.809],
|
|
},
|
|
{
|
|
name: 'duration',
|
|
type: FieldType.number,
|
|
config: {},
|
|
values: [0.459008],
|
|
},
|
|
{
|
|
name: 'logs',
|
|
type: FieldType.other,
|
|
config: {},
|
|
values: [[{ name: 'DNSDone', fields: [{ key: 'addr', value: '172.18.0.6' }] }]],
|
|
},
|
|
{
|
|
name: 'references',
|
|
type: FieldType.other,
|
|
config: {},
|
|
values: [
|
|
[
|
|
{
|
|
spanID: 'spanId',
|
|
traceID: 'traceId',
|
|
tags: [
|
|
{ key: 'key', value: 'Value' },
|
|
{ key: 'intValue', value: 4 },
|
|
],
|
|
},
|
|
{
|
|
spanID: 'spanId2',
|
|
traceID: 'traceId2',
|
|
tags: [],
|
|
},
|
|
],
|
|
],
|
|
},
|
|
{
|
|
name: 'tags',
|
|
type: FieldType.other,
|
|
config: {},
|
|
values: [
|
|
[
|
|
{
|
|
key: 'http.status_code',
|
|
value: 200,
|
|
},
|
|
{
|
|
key: 'http.method',
|
|
value: 'GET',
|
|
},
|
|
{
|
|
key: 'http.url',
|
|
value: '/',
|
|
},
|
|
{
|
|
key: 'component',
|
|
value: 'net/http',
|
|
},
|
|
],
|
|
],
|
|
},
|
|
],
|
|
length: 1,
|
|
});
|
|
|
|
export const otlpDataFrameToResponse = new MutableDataFrame({
|
|
meta: {
|
|
preferredVisualisationType: 'trace',
|
|
custom: {
|
|
traceFormat: 'otlp',
|
|
},
|
|
},
|
|
fields: [
|
|
{
|
|
name: 'traceID',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['60ba2abb44f13eae'],
|
|
state: {
|
|
displayName: 'traceID',
|
|
},
|
|
},
|
|
{
|
|
name: 'spanID',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['726b5e30102fc0d0'],
|
|
state: {
|
|
displayName: 'spanID',
|
|
},
|
|
},
|
|
{
|
|
name: 'parentSpanID',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['398f0f21a3db99ae'],
|
|
state: {
|
|
displayName: 'parentSpanID',
|
|
},
|
|
},
|
|
{
|
|
name: 'operationName',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['HTTP GET - root'],
|
|
state: {
|
|
displayName: 'operationName',
|
|
},
|
|
},
|
|
{
|
|
name: 'serviceName',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['db'],
|
|
state: {
|
|
displayName: 'serviceName',
|
|
},
|
|
},
|
|
{
|
|
name: 'kind',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['client'],
|
|
state: {
|
|
displayName: 'kind',
|
|
},
|
|
},
|
|
{
|
|
name: 'statusCode',
|
|
type: FieldType.number,
|
|
config: {},
|
|
values: [2],
|
|
state: {
|
|
displayName: 'statusCode',
|
|
},
|
|
},
|
|
{
|
|
name: 'statusMessage',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['message'],
|
|
state: {
|
|
displayName: 'statusMessage',
|
|
},
|
|
},
|
|
{
|
|
name: 'instrumentationLibraryName',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['libraryName'],
|
|
state: {
|
|
displayName: 'instrumentationLibraryName',
|
|
},
|
|
},
|
|
{
|
|
name: 'instrumentationLibraryVersion',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['libraryVersion'],
|
|
state: {
|
|
displayName: 'instrumentationLibraryVersion',
|
|
},
|
|
},
|
|
{
|
|
name: 'traceState',
|
|
type: FieldType.string,
|
|
config: {},
|
|
values: ['traceState'],
|
|
state: {
|
|
displayName: 'traceState',
|
|
},
|
|
},
|
|
{
|
|
name: 'serviceTags',
|
|
type: FieldType.other,
|
|
config: {},
|
|
values: [
|
|
[
|
|
{
|
|
key: 'service.name',
|
|
value: 'db',
|
|
},
|
|
{
|
|
key: 'job',
|
|
value: 'tns/db',
|
|
},
|
|
{
|
|
key: 'opencensus.exporterversion',
|
|
value: 'Jaeger-Go-2.22.1',
|
|
},
|
|
{
|
|
key: 'host.name',
|
|
value: '63d16772b4a2',
|
|
},
|
|
{
|
|
key: 'ip',
|
|
value: '0.0.0.0',
|
|
},
|
|
{
|
|
key: 'client-uuid',
|
|
value: '39fb01637a579639',
|
|
},
|
|
],
|
|
],
|
|
state: {
|
|
displayName: 'serviceTags',
|
|
},
|
|
},
|
|
{
|
|
name: 'startTime',
|
|
type: FieldType.number,
|
|
config: {},
|
|
values: [1627471657255.809],
|
|
state: {
|
|
displayName: 'startTime',
|
|
},
|
|
},
|
|
{
|
|
name: 'duration',
|
|
type: FieldType.number,
|
|
config: {},
|
|
values: [0.459008],
|
|
state: {
|
|
displayName: 'duration',
|
|
},
|
|
},
|
|
{
|
|
name: 'logs',
|
|
type: FieldType.other,
|
|
config: {},
|
|
values: [
|
|
[
|
|
{
|
|
fields: [
|
|
{
|
|
key: 'addr',
|
|
value: '172.18.0.6',
|
|
},
|
|
],
|
|
timestamp: 1627471657255.809,
|
|
name: 'DNSDone',
|
|
},
|
|
],
|
|
],
|
|
state: {
|
|
displayName: 'logs',
|
|
},
|
|
},
|
|
{
|
|
name: 'tags',
|
|
type: FieldType.other,
|
|
config: {},
|
|
values: [
|
|
[
|
|
{
|
|
key: 'http.status_code',
|
|
value: 200,
|
|
},
|
|
{
|
|
key: 'http.method',
|
|
value: 'GET',
|
|
},
|
|
{
|
|
key: 'http.url',
|
|
value: '/',
|
|
},
|
|
{
|
|
key: 'component',
|
|
value: 'net/http',
|
|
},
|
|
],
|
|
],
|
|
state: {
|
|
displayName: 'tags',
|
|
},
|
|
},
|
|
{
|
|
name: 'references',
|
|
type: FieldType.other,
|
|
config: {},
|
|
labels: undefined,
|
|
values: [
|
|
[
|
|
{
|
|
spanID: 'spanId',
|
|
traceID: 'traceId',
|
|
tags: [
|
|
{ key: 'key', value: 'Value' },
|
|
{ key: 'intValue', value: 4 },
|
|
],
|
|
},
|
|
{
|
|
spanID: 'spanId2',
|
|
traceID: 'traceId2',
|
|
tags: [],
|
|
},
|
|
],
|
|
],
|
|
state: {
|
|
displayName: 'references',
|
|
},
|
|
},
|
|
],
|
|
length: 1,
|
|
});
|
|
|
|
export const otlpResponse = {
|
|
batches: [
|
|
{
|
|
resource: {
|
|
attributes: [
|
|
{ key: 'service.name', value: { stringValue: 'db' } },
|
|
{ key: 'job', value: { stringValue: 'tns/db' } },
|
|
{ key: 'opencensus.exporterversion', value: { stringValue: 'Jaeger-Go-2.22.1' } },
|
|
{ key: 'host.name', value: { stringValue: '63d16772b4a2' } },
|
|
{ key: 'ip', value: { stringValue: '0.0.0.0' } },
|
|
{ key: 'client-uuid', value: { stringValue: '39fb01637a579639' } },
|
|
],
|
|
},
|
|
instrumentationLibrarySpans: [
|
|
{
|
|
instrumentationLibrary: {
|
|
name: 'libraryName',
|
|
version: 'libraryVersion',
|
|
},
|
|
spans: [
|
|
{
|
|
traceId: '000000000000000060ba2abb44f13eae',
|
|
spanId: '726b5e30102fc0d0',
|
|
parentSpanId: '398f0f21a3db99ae',
|
|
name: 'HTTP GET - root',
|
|
kind: 'SPAN_KIND_CLIENT',
|
|
status: {
|
|
code: 2,
|
|
message: 'message',
|
|
},
|
|
traceState: 'traceState',
|
|
startTimeUnixNano: 1627471657255809000,
|
|
endTimeUnixNano: 1627471657256268000,
|
|
attributes: [
|
|
{ key: 'http.status_code', value: { intValue: 200 } },
|
|
{ key: 'http.method', value: { stringValue: 'GET' } },
|
|
{ key: 'http.url', value: { stringValue: '/' } },
|
|
{ key: 'component', value: { stringValue: 'net/http' } },
|
|
],
|
|
events: [
|
|
{
|
|
name: 'DNSDone',
|
|
attributes: [{ key: 'addr', value: { stringValue: '172.18.0.6' } }],
|
|
droppedAttributesCount: 0,
|
|
timeUnixNano: 1627471657255809000,
|
|
},
|
|
],
|
|
links: [
|
|
{
|
|
spanId: 'spanId',
|
|
traceId: 'traceId',
|
|
attributes: [
|
|
{
|
|
key: 'key',
|
|
value: {
|
|
stringValue: 'Value',
|
|
},
|
|
},
|
|
{
|
|
key: 'intValue',
|
|
value: {
|
|
intValue: 4,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
spanId: 'spanId2',
|
|
traceId: 'traceId2',
|
|
attributes: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const traceQlResponse = {
|
|
traces: [
|
|
{
|
|
traceID: 'b1586c3c8c34d',
|
|
rootServiceName: 'lb',
|
|
rootTraceName: 'HTTP Client',
|
|
startTimeUnixNano: '1643356828724000000',
|
|
durationMs: 65,
|
|
spanSet: {
|
|
spans: [
|
|
{
|
|
spanID: '162a4adae63b61f1',
|
|
startTimeUnixNano: '1666188214303201000',
|
|
durationNanos: '545000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'db',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
spanID: '15991be3a92136e6',
|
|
startTimeUnixNano: '1666188214300239000',
|
|
durationNanos: '6686000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'app',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
spanID: '5e91b69dc224c240',
|
|
startTimeUnixNano: '1666188214300647000',
|
|
durationNanos: '6043000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'app',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
spanID: '29f218a50b00c306',
|
|
startTimeUnixNano: '1666188214297891000',
|
|
durationNanos: '8365000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'lb',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
matched: 4,
|
|
},
|
|
},
|
|
{
|
|
traceID: '9161e77388f3e',
|
|
rootServiceName: 'lb',
|
|
rootTraceName: 'HTTP Client',
|
|
startTimeUnixNano: '1643342166678000000',
|
|
spanSets: [
|
|
{
|
|
attributes: [
|
|
{
|
|
key: 'by(resource.service.name)',
|
|
value: {
|
|
stringValue: 'db',
|
|
},
|
|
},
|
|
],
|
|
spans: [
|
|
{
|
|
spanID: '3b9a5c222d3ddd8f',
|
|
startTimeUnixNano: '1666187875397721000',
|
|
durationNanos: '877000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'db',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
matched: 1,
|
|
},
|
|
{
|
|
attributes: [
|
|
{
|
|
key: 'by(resource.service.name)',
|
|
value: {
|
|
stringValue: 'app',
|
|
},
|
|
},
|
|
],
|
|
spans: [
|
|
{
|
|
spanID: '894d90db6b5807f',
|
|
startTimeUnixNano: '1666187875393293000',
|
|
durationNanos: '11073000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'app',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
spanID: 'd3284e9c5081aab',
|
|
startTimeUnixNano: '1666187875393897000',
|
|
durationNanos: '10133000',
|
|
attributes: [
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'app',
|
|
},
|
|
},
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
matched: 2,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
traceID: '480691f7c6f20',
|
|
rootServiceName: 'lb',
|
|
rootTraceName: 'HTTP Client',
|
|
startTimeUnixNano: '1643342166678000000',
|
|
durationMs: 44,
|
|
spanSet: {
|
|
spans: [
|
|
{
|
|
spanID: '2ab970c9db57d100',
|
|
startTimeUnixNano: '1666186467658853000',
|
|
durationNanos: '436000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'db',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
spanID: '3a4070e418857cbd',
|
|
startTimeUnixNano: '1666186467657066000',
|
|
durationNanos: '5503000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'app',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
spanID: '7ddf87d7a3f864c8',
|
|
startTimeUnixNano: '1666186467657336000',
|
|
durationNanos: '5005000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'app',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
spanID: '241e9f31609056c5',
|
|
startTimeUnixNano: '1666186467655299000',
|
|
durationNanos: '6413000',
|
|
attributes: [
|
|
{
|
|
key: 'http.method',
|
|
value: {
|
|
stringValue: 'GET',
|
|
},
|
|
},
|
|
{
|
|
key: 'service.name',
|
|
value: {
|
|
stringValue: 'lb',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
matched: 4,
|
|
},
|
|
},
|
|
],
|
|
metrics: {
|
|
inspectedBlocks: 5,
|
|
totalBlockBytes: '9092129',
|
|
},
|
|
};
|
|
|
|
export const badOTLPResponse = {
|
|
batches: [
|
|
{
|
|
resource: {},
|
|
instrumentationLibrarySpans: [
|
|
{
|
|
spans: [
|
|
{
|
|
traceId: 'AAAAAAAAAABguiq7RPE+rg==',
|
|
spanId: 'cmteMBAvwNA=',
|
|
parentSpanId: 'OY8PIaPbma4=',
|
|
name: 'HTTP GET - root',
|
|
kind: 'SPAN_KIND_CLIENT',
|
|
startTimeUnixNano: 1627471657255809000,
|
|
endTimeUnixNano: 1627471657256268000,
|
|
attributes: [
|
|
{ key: 'http.status_code', value: { intValue: 200 } },
|
|
{ key: 'http.method', value: { stringValue: 'GET' } },
|
|
{ key: 'http.url', value: { stringValue: '/' } },
|
|
{ key: 'component', value: { stringValue: 'net/http' } },
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|