@graphql-hive/plugin-opentelemetry 1.3.0-alpha-da01ed6ffa49fe6e2dd3823152daa67d54cd91fb → 1.3.0-alpha-8f7a9ec0ed7ecb561a0901704d8df55dd75ff7da
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -2
- package/dist/attributes.cjs +77 -0
- package/dist/attributes.d.cts +16 -0
- package/dist/attributes.d.ts +16 -0
- package/dist/attributes.js +16 -0
- package/dist/index.cjs +14 -9
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/{plugin-CepZPqbb.js → plugin-7AW98S14.js} +14 -14
- package/dist/{plugin-DOyRaHdT.cjs → plugin-DqVaQukh.cjs} +35 -43
- package/dist/setup.cjs +23 -23
- package/dist/setup.d.cts +1 -1
- package/dist/setup.d.ts +1 -1
- package/dist/setup.js +11 -15
- package/package.json +12 -2
- package/dist/attributes-mikIPKnv.d.ts +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @graphql-hive/plugin-opentelemetry
|
|
2
2
|
|
|
3
|
-
## 1.3.0-alpha-
|
|
3
|
+
## 1.3.0-alpha-8f7a9ec0ed7ecb561a0901704d8df55dd75ff7da
|
|
4
4
|
### Minor Changes
|
|
5
5
|
|
|
6
6
|
|
|
@@ -8,10 +8,28 @@
|
|
|
8
8
|
- [#1786](https://github.com/graphql-hive/gateway/pull/1786) [`abd350b`](https://github.com/graphql-hive/gateway/commit/abd350b913c8938cf173a4a5e25b3ba6c04016fc) Thanks [@ardatan](https://github.com/ardatan)! - Respect both \`graphql-client-name\` and \`x-graphql-client-name\` for client name header, and both \`graphql-client-version\` and \`x-graphql-client-version\` for client version header by default if not configured otherwise.
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
- [#1791](https://github.com/graphql-hive/gateway/pull/1791) [`8f7a9ec`](https://github.com/graphql-hive/gateway/commit/8f7a9ec0ed7ecb561a0901704d8df55dd75ff7da) Thanks [@EmrysMyrddin](https://github.com/EmrysMyrddin)! - New attributes on http, graphql operation and subgraph execution to make it easier to find those "root" spans.
|
|
13
|
+
|
|
14
|
+
- HTTP span: `hive.request: true` and `hive.request.id: <request-id>` if `requestId` exists
|
|
15
|
+
- GraphQL operation : `hive.graphql: true`
|
|
16
|
+
- Subgraph Execution : `hive.upstream: true`
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
- [#1791](https://github.com/graphql-hive/gateway/pull/1791) [`204eb31`](https://github.com/graphql-hive/gateway/commit/204eb310773c4df81a9885ce66dd857d35619b64) Thanks [@EmrysMyrddin](https://github.com/EmrysMyrddin)! - Added `@graphql-hive/plugin-opentelemetry/attributes` module entrypoint exposing graphql and hive
|
|
20
|
+
specific attributes. This was already exposed by the default entrypoint, but it now also has its own one.
|
|
21
|
+
|
|
22
|
+
This fixes an issue with some bundler (like vite) that doesn't support importing non existent `.js`
|
|
23
|
+
when only a `.d.ts` file exists.
|
|
24
|
+
|
|
11
25
|
### Patch Changes
|
|
12
26
|
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
- [#1791](https://github.com/graphql-hive/gateway/pull/1791) [`adb8e98`](https://github.com/graphql-hive/gateway/commit/adb8e9872eafdbf3c5639ea6d9999f4ca62764e1) Thanks [@EmrysMyrddin](https://github.com/EmrysMyrddin)! - Fix http span filter function that was not taken in account
|
|
30
|
+
|
|
13
31
|
- Updated dependencies [[`15b9e50`](https://github.com/graphql-hive/gateway/commit/15b9e5037fa74f8c1a8e662e196268a88642c27d), [`abd350b`](https://github.com/graphql-hive/gateway/commit/abd350b913c8938cf173a4a5e25b3ba6c04016fc), [`a50d93a`](https://github.com/graphql-hive/gateway/commit/a50d93a0bc8f3c67de7449ad9102d3f3b60ea96a)]:
|
|
14
|
-
- @graphql-hive/gateway-runtime@2.5.0-alpha-
|
|
32
|
+
- @graphql-hive/gateway-runtime@2.5.0-alpha-8f7a9ec0ed7ecb561a0901704d8df55dd75ff7da
|
|
15
33
|
|
|
16
34
|
## 1.2.5
|
|
17
35
|
### Patch Changes
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var semanticConventions = require('@opentelemetry/semantic-conventions');
|
|
4
|
+
|
|
5
|
+
const SEMATTRS_GRAPHQL_DOCUMENT = "graphql.document";
|
|
6
|
+
const SEMATTRS_GRAPHQL_OPERATION_TYPE = "graphql.operation.type";
|
|
7
|
+
const SEMATTRS_GRAPHQL_OPERATION_NAME = "graphql.operation.name";
|
|
8
|
+
const SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = "hive.graphql.operation.hash";
|
|
9
|
+
const SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = "hive.graphql.error.count";
|
|
10
|
+
const SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = "hive.graphql.error.codes";
|
|
11
|
+
const SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = "hive.gateway.upstream.subgraph.name";
|
|
12
|
+
const SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = "hive.gateway.operation.subgraph.names";
|
|
13
|
+
const SEMATTRS_HIVE_REQUEST_ID = "hive.request.id";
|
|
14
|
+
const SEMATTRS_IS_HIVE_REQUEST = "hive.request";
|
|
15
|
+
const SEMATTRS_IS_HIVE_GRAPHQL_OPERATION = "hive.graphql";
|
|
16
|
+
const SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION = "hive.upstream";
|
|
17
|
+
|
|
18
|
+
Object.defineProperty(exports, "ATTR_SERVICE_NAME", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return semanticConventions.ATTR_SERVICE_NAME; }
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(exports, "ATTR_SERVICE_VERSION", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return semanticConventions.ATTR_SERVICE_VERSION; }
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_CLIENT_IP", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_CLIENT_IP; }
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_HOST", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_HOST; }
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_METHOD", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_METHOD; }
|
|
37
|
+
});
|
|
38
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_ROUTE", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_ROUTE; }
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_SCHEME", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_SCHEME; }
|
|
45
|
+
});
|
|
46
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_SERVER_NAME", {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_SERVER_NAME; }
|
|
49
|
+
});
|
|
50
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_STATUS_CODE", {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_STATUS_CODE; }
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_URL", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_URL; }
|
|
57
|
+
});
|
|
58
|
+
Object.defineProperty(exports, "SEMATTRS_HTTP_USER_AGENT", {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
get: function () { return semanticConventions.SEMATTRS_HTTP_USER_AGENT; }
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(exports, "SEMATTRS_NET_HOST_NAME", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
get: function () { return semanticConventions.SEMATTRS_NET_HOST_NAME; }
|
|
65
|
+
});
|
|
66
|
+
exports.SEMATTRS_GRAPHQL_DOCUMENT = SEMATTRS_GRAPHQL_DOCUMENT;
|
|
67
|
+
exports.SEMATTRS_GRAPHQL_OPERATION_NAME = SEMATTRS_GRAPHQL_OPERATION_NAME;
|
|
68
|
+
exports.SEMATTRS_GRAPHQL_OPERATION_TYPE = SEMATTRS_GRAPHQL_OPERATION_TYPE;
|
|
69
|
+
exports.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES;
|
|
70
|
+
exports.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME;
|
|
71
|
+
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = SEMATTRS_HIVE_GRAPHQL_ERROR_CODES;
|
|
72
|
+
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT;
|
|
73
|
+
exports.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH;
|
|
74
|
+
exports.SEMATTRS_HIVE_REQUEST_ID = SEMATTRS_HIVE_REQUEST_ID;
|
|
75
|
+
exports.SEMATTRS_IS_HIVE_GRAPHQL_OPERATION = SEMATTRS_IS_HIVE_GRAPHQL_OPERATION;
|
|
76
|
+
exports.SEMATTRS_IS_HIVE_REQUEST = SEMATTRS_IS_HIVE_REQUEST;
|
|
77
|
+
exports.SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION = SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
|
2
|
+
|
|
3
|
+
declare const SEMATTRS_GRAPHQL_DOCUMENT = "graphql.document";
|
|
4
|
+
declare const SEMATTRS_GRAPHQL_OPERATION_TYPE = "graphql.operation.type";
|
|
5
|
+
declare const SEMATTRS_GRAPHQL_OPERATION_NAME = "graphql.operation.name";
|
|
6
|
+
declare const SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = "hive.graphql.operation.hash";
|
|
7
|
+
declare const SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = "hive.graphql.error.count";
|
|
8
|
+
declare const SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = "hive.graphql.error.codes";
|
|
9
|
+
declare const SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = "hive.gateway.upstream.subgraph.name";
|
|
10
|
+
declare const SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = "hive.gateway.operation.subgraph.names";
|
|
11
|
+
declare const SEMATTRS_HIVE_REQUEST_ID = "hive.request.id";
|
|
12
|
+
declare const SEMATTRS_IS_HIVE_REQUEST = "hive.request";
|
|
13
|
+
declare const SEMATTRS_IS_HIVE_GRAPHQL_OPERATION = "hive.graphql";
|
|
14
|
+
declare const SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION = "hive.upstream";
|
|
15
|
+
|
|
16
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
|
2
|
+
|
|
3
|
+
declare const SEMATTRS_GRAPHQL_DOCUMENT = "graphql.document";
|
|
4
|
+
declare const SEMATTRS_GRAPHQL_OPERATION_TYPE = "graphql.operation.type";
|
|
5
|
+
declare const SEMATTRS_GRAPHQL_OPERATION_NAME = "graphql.operation.name";
|
|
6
|
+
declare const SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = "hive.graphql.operation.hash";
|
|
7
|
+
declare const SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = "hive.graphql.error.count";
|
|
8
|
+
declare const SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = "hive.graphql.error.codes";
|
|
9
|
+
declare const SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = "hive.gateway.upstream.subgraph.name";
|
|
10
|
+
declare const SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = "hive.gateway.operation.subgraph.names";
|
|
11
|
+
declare const SEMATTRS_HIVE_REQUEST_ID = "hive.request.id";
|
|
12
|
+
declare const SEMATTRS_IS_HIVE_REQUEST = "hive.request";
|
|
13
|
+
declare const SEMATTRS_IS_HIVE_GRAPHQL_OPERATION = "hive.graphql";
|
|
14
|
+
declare const SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION = "hive.upstream";
|
|
15
|
+
|
|
16
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
|
2
|
+
|
|
3
|
+
const SEMATTRS_GRAPHQL_DOCUMENT = "graphql.document";
|
|
4
|
+
const SEMATTRS_GRAPHQL_OPERATION_TYPE = "graphql.operation.type";
|
|
5
|
+
const SEMATTRS_GRAPHQL_OPERATION_NAME = "graphql.operation.name";
|
|
6
|
+
const SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = "hive.graphql.operation.hash";
|
|
7
|
+
const SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = "hive.graphql.error.count";
|
|
8
|
+
const SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = "hive.graphql.error.codes";
|
|
9
|
+
const SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = "hive.gateway.upstream.subgraph.name";
|
|
10
|
+
const SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = "hive.gateway.operation.subgraph.names";
|
|
11
|
+
const SEMATTRS_HIVE_REQUEST_ID = "hive.request.id";
|
|
12
|
+
const SEMATTRS_IS_HIVE_REQUEST = "hive.request";
|
|
13
|
+
const SEMATTRS_IS_HIVE_GRAPHQL_OPERATION = "hive.graphql";
|
|
14
|
+
const SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION = "hive.upstream";
|
|
15
|
+
|
|
16
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION };
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var plugin = require('./plugin-
|
|
3
|
+
var plugin = require('./plugin-DqVaQukh.cjs');
|
|
4
4
|
var api = require('@opentelemetry/api');
|
|
5
|
+
var attributes = require('./attributes.cjs');
|
|
5
6
|
var semanticConventions = require('@opentelemetry/semantic-conventions');
|
|
6
7
|
require('@graphql-hive/gateway-runtime');
|
|
7
8
|
require('@graphql-mesh/utils');
|
|
@@ -14,19 +15,23 @@ require('graphql');
|
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
|
|
17
|
-
exports.SEMATTRS_GRAPHQL_DOCUMENT = plugin.SEMATTRS_GRAPHQL_DOCUMENT;
|
|
18
|
-
exports.SEMATTRS_GRAPHQL_OPERATION_NAME = plugin.SEMATTRS_GRAPHQL_OPERATION_NAME;
|
|
19
|
-
exports.SEMATTRS_GRAPHQL_OPERATION_TYPE = plugin.SEMATTRS_GRAPHQL_OPERATION_TYPE;
|
|
20
|
-
exports.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = plugin.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES;
|
|
21
|
-
exports.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = plugin.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME;
|
|
22
|
-
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = plugin.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES;
|
|
23
|
-
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = plugin.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT;
|
|
24
|
-
exports.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = plugin.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH;
|
|
25
18
|
exports.useOpenTelemetry = plugin.useOpenTelemetry;
|
|
26
19
|
Object.defineProperty(exports, "OpenTelemetryDiagLogLevel", {
|
|
27
20
|
enumerable: true,
|
|
28
21
|
get: function () { return api.DiagLogLevel; }
|
|
29
22
|
});
|
|
23
|
+
exports.SEMATTRS_GRAPHQL_DOCUMENT = attributes.SEMATTRS_GRAPHQL_DOCUMENT;
|
|
24
|
+
exports.SEMATTRS_GRAPHQL_OPERATION_NAME = attributes.SEMATTRS_GRAPHQL_OPERATION_NAME;
|
|
25
|
+
exports.SEMATTRS_GRAPHQL_OPERATION_TYPE = attributes.SEMATTRS_GRAPHQL_OPERATION_TYPE;
|
|
26
|
+
exports.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = attributes.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES;
|
|
27
|
+
exports.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = attributes.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME;
|
|
28
|
+
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES;
|
|
29
|
+
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT;
|
|
30
|
+
exports.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = attributes.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH;
|
|
31
|
+
exports.SEMATTRS_HIVE_REQUEST_ID = attributes.SEMATTRS_HIVE_REQUEST_ID;
|
|
32
|
+
exports.SEMATTRS_IS_HIVE_GRAPHQL_OPERATION = attributes.SEMATTRS_IS_HIVE_GRAPHQL_OPERATION;
|
|
33
|
+
exports.SEMATTRS_IS_HIVE_REQUEST = attributes.SEMATTRS_IS_HIVE_REQUEST;
|
|
34
|
+
exports.SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION = attributes.SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION;
|
|
30
35
|
Object.defineProperty(exports, "ATTR_SERVICE_NAME", {
|
|
31
36
|
enumerable: true,
|
|
32
37
|
get: function () { return semanticConventions.ATTR_SERVICE_NAME; }
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { O as OpenTelemetryContextExtension, a as OpenTelemetryGatewayPluginOptions, b as OpenTelemetryPlugin, c as OpenTelemetryPluginUtils, u as useOpenTelemetry } from './plugin-BBy_tfA5.js';
|
|
2
2
|
export { DiagLogLevel as OpenTelemetryDiagLogLevel } from '@opentelemetry/api';
|
|
3
|
-
export {
|
|
3
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION } from './attributes.cjs';
|
|
4
4
|
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
|
5
5
|
import '@graphql-hive/gateway-runtime';
|
|
6
6
|
import '@graphql-tools/utils';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { O as OpenTelemetryContextExtension, a as OpenTelemetryGatewayPluginOptions, b as OpenTelemetryPlugin, c as OpenTelemetryPluginUtils, u as useOpenTelemetry } from './plugin-BBy_tfA5.js';
|
|
2
2
|
export { DiagLogLevel as OpenTelemetryDiagLogLevel } from '@opentelemetry/api';
|
|
3
|
-
export {
|
|
3
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION } from './attributes.js';
|
|
4
4
|
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
|
5
5
|
import '@graphql-hive/gateway-runtime';
|
|
6
6
|
import '@graphql-tools/utils';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { u as useOpenTelemetry } from './plugin-7AW98S14.js';
|
|
2
2
|
export { DiagLogLevel as OpenTelemetryDiagLogLevel } from '@opentelemetry/api';
|
|
3
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION } from './attributes.js';
|
|
3
4
|
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
|
4
5
|
import '@graphql-hive/gateway-runtime';
|
|
5
6
|
import '@graphql-mesh/utils';
|
|
@@ -3,6 +3,7 @@ import { getHeadersObj } from '@graphql-mesh/utils';
|
|
|
3
3
|
import { isAsyncIterable, getOperationASTFromDocument, fakePromise } from '@graphql-tools/utils';
|
|
4
4
|
import { unfakePromise } from '@whatwg-node/promise-helpers';
|
|
5
5
|
import { hive } from './api.js';
|
|
6
|
+
import { SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_HIVE_REQUEST_ID } from './attributes.js';
|
|
6
7
|
import { trace, SpanStatusCode, context, ROOT_CONTEXT, SpanKind, DiagLogLevel, diag, propagation } from '@opentelemetry/api';
|
|
7
8
|
import { hashOperation } from '@graphql-hive/core';
|
|
8
9
|
import { defaultPrintFn } from '@graphql-mesh/transport-common';
|
|
@@ -116,15 +117,6 @@ function getRetryInfo(executionRequest) {
|
|
|
116
117
|
return executionRequest[RETRY_SYMBOL];
|
|
117
118
|
}
|
|
118
119
|
|
|
119
|
-
const SEMATTRS_GRAPHQL_DOCUMENT = "graphql.document";
|
|
120
|
-
const SEMATTRS_GRAPHQL_OPERATION_TYPE = "graphql.operation.type";
|
|
121
|
-
const SEMATTRS_GRAPHQL_OPERATION_NAME = "graphql.operation.name";
|
|
122
|
-
const SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = "hive.graphql.operation.hash";
|
|
123
|
-
const SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = "hive.graphql.error.count";
|
|
124
|
-
const SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = "hive.graphql.error.codes";
|
|
125
|
-
const SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = "hive.gateway.upstream.subgraph.name";
|
|
126
|
-
const SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = "hive.gateway.operation.subgraph.names";
|
|
127
|
-
|
|
128
120
|
function createHttpSpan(input) {
|
|
129
121
|
const { url, request, tracer } = input;
|
|
130
122
|
const span = tracer.startSpan(
|
|
@@ -140,7 +132,8 @@ function createHttpSpan(input) {
|
|
|
140
132
|
[SEMATTRS_HTTP_CLIENT_IP]: request.headers.get("x-forwarded-for")?.split(",")[0],
|
|
141
133
|
[SEMATTRS_HTTP_USER_AGENT]: request.headers.get("user-agent") || void 0,
|
|
142
134
|
"hive.client.name": request.headers.get("graphql-client-name") || request.headers.get("x-graphql-client-name") || void 0,
|
|
143
|
-
"hive.client.version": request.headers.get("graphql-client-version") || request.headers.get("x-graphql-client-version") || void 0
|
|
135
|
+
"hive.client.version": request.headers.get("graphql-client-version") || request.headers.get("x-graphql-client-version") || void 0,
|
|
136
|
+
[SEMATTRS_IS_HIVE_REQUEST]: true
|
|
144
137
|
},
|
|
145
138
|
kind: SpanKind.SERVER
|
|
146
139
|
},
|
|
@@ -167,7 +160,10 @@ function setResponseAttributes(ctx, response) {
|
|
|
167
160
|
function createGraphQLSpan(input) {
|
|
168
161
|
const span = input.tracer.startSpan(
|
|
169
162
|
`graphql.operation`,
|
|
170
|
-
{
|
|
163
|
+
{
|
|
164
|
+
kind: SpanKind.INTERNAL,
|
|
165
|
+
attributes: { [SEMATTRS_IS_HIVE_GRAPHQL_OPERATION]: true }
|
|
166
|
+
},
|
|
171
167
|
input.ctx
|
|
172
168
|
);
|
|
173
169
|
return trace.setSpan(input.ctx, span);
|
|
@@ -377,7 +373,8 @@ function createSubgraphExecuteSpan(input) {
|
|
|
377
373
|
input.executionRequest.document
|
|
378
374
|
),
|
|
379
375
|
[SEMATTRS_GRAPHQL_OPERATION_TYPE]: operation.operation,
|
|
380
|
-
[SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME]: input.subgraphName
|
|
376
|
+
[SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME]: input.subgraphName,
|
|
377
|
+
[SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION]: true
|
|
381
378
|
},
|
|
382
379
|
kind: SpanKind.CLIENT
|
|
383
380
|
},
|
|
@@ -882,6 +879,9 @@ function useOpenTelemetry(options) {
|
|
|
882
879
|
]
|
|
883
880
|
);
|
|
884
881
|
if (typeof requestId === "string") {
|
|
882
|
+
const httpCtx = state.forRequest.otel?.root;
|
|
883
|
+
const httpSpan = httpCtx && trace.getSpan(httpCtx);
|
|
884
|
+
httpSpan?.setAttribute(SEMATTRS_HIVE_REQUEST_ID, requestId);
|
|
885
885
|
otelCtxForRequestId.set(requestId, getContext(state));
|
|
886
886
|
}
|
|
887
887
|
}
|
|
@@ -1085,7 +1085,7 @@ function resolveTracesConfig(options, useContextManager, log) {
|
|
|
1085
1085
|
}
|
|
1086
1086
|
let traces = typeof options.traces === "object" ? options.traces : {};
|
|
1087
1087
|
traces.spans ??= {};
|
|
1088
|
-
if (traces.spans.http ?? true) {
|
|
1088
|
+
if ((traces.spans.http ?? true) === true) {
|
|
1089
1089
|
traces.spans = { ...traces.spans, http: defaultHttpFilter };
|
|
1090
1090
|
}
|
|
1091
1091
|
if (!useContextManager) {
|
|
@@ -1099,4 +1099,4 @@ function resolveTracesConfig(options, useContextManager, log) {
|
|
|
1099
1099
|
return traces;
|
|
1100
1100
|
}
|
|
1101
1101
|
|
|
1102
|
-
export {
|
|
1102
|
+
export { getEnvStr as a, diagLogLevelFromEnv as d, getEnvBool as g, otelCtxForRequestId as o, useOpenTelemetry as u };
|
|
@@ -5,6 +5,7 @@ var utils$1 = require('@graphql-mesh/utils');
|
|
|
5
5
|
var utils = require('@graphql-tools/utils');
|
|
6
6
|
var promiseHelpers = require('@whatwg-node/promise-helpers');
|
|
7
7
|
var api$1 = require('./api.cjs');
|
|
8
|
+
var attributes = require('./attributes.cjs');
|
|
8
9
|
var api = require('@opentelemetry/api');
|
|
9
10
|
var core = require('@graphql-hive/core');
|
|
10
11
|
var transportCommon = require('@graphql-mesh/transport-common');
|
|
@@ -118,15 +119,6 @@ function getRetryInfo(executionRequest) {
|
|
|
118
119
|
return executionRequest[RETRY_SYMBOL];
|
|
119
120
|
}
|
|
120
121
|
|
|
121
|
-
const SEMATTRS_GRAPHQL_DOCUMENT = "graphql.document";
|
|
122
|
-
const SEMATTRS_GRAPHQL_OPERATION_TYPE = "graphql.operation.type";
|
|
123
|
-
const SEMATTRS_GRAPHQL_OPERATION_NAME = "graphql.operation.name";
|
|
124
|
-
const SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = "hive.graphql.operation.hash";
|
|
125
|
-
const SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = "hive.graphql.error.count";
|
|
126
|
-
const SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = "hive.graphql.error.codes";
|
|
127
|
-
const SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = "hive.gateway.upstream.subgraph.name";
|
|
128
|
-
const SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = "hive.gateway.operation.subgraph.names";
|
|
129
|
-
|
|
130
122
|
function createHttpSpan(input) {
|
|
131
123
|
const { url, request, tracer } = input;
|
|
132
124
|
const span = tracer.startSpan(
|
|
@@ -142,7 +134,8 @@ function createHttpSpan(input) {
|
|
|
142
134
|
[semanticConventions.SEMATTRS_HTTP_CLIENT_IP]: request.headers.get("x-forwarded-for")?.split(",")[0],
|
|
143
135
|
[semanticConventions.SEMATTRS_HTTP_USER_AGENT]: request.headers.get("user-agent") || void 0,
|
|
144
136
|
"hive.client.name": request.headers.get("graphql-client-name") || request.headers.get("x-graphql-client-name") || void 0,
|
|
145
|
-
"hive.client.version": request.headers.get("graphql-client-version") || request.headers.get("x-graphql-client-version") || void 0
|
|
137
|
+
"hive.client.version": request.headers.get("graphql-client-version") || request.headers.get("x-graphql-client-version") || void 0,
|
|
138
|
+
[attributes.SEMATTRS_IS_HIVE_REQUEST]: true
|
|
146
139
|
},
|
|
147
140
|
kind: api.SpanKind.SERVER
|
|
148
141
|
},
|
|
@@ -169,7 +162,10 @@ function setResponseAttributes(ctx, response) {
|
|
|
169
162
|
function createGraphQLSpan(input) {
|
|
170
163
|
const span = input.tracer.startSpan(
|
|
171
164
|
`graphql.operation`,
|
|
172
|
-
{
|
|
165
|
+
{
|
|
166
|
+
kind: api.SpanKind.INTERNAL,
|
|
167
|
+
attributes: { [attributes.SEMATTRS_IS_HIVE_GRAPHQL_OPERATION]: true }
|
|
168
|
+
},
|
|
173
169
|
input.ctx
|
|
174
170
|
);
|
|
175
171
|
return api.trace.setSpan(input.ctx, span);
|
|
@@ -180,9 +176,9 @@ function setParamsAttributes(input) {
|
|
|
180
176
|
if (!span) {
|
|
181
177
|
return;
|
|
182
178
|
}
|
|
183
|
-
span.setAttribute(SEMATTRS_GRAPHQL_DOCUMENT, params.query ?? "<undefined>");
|
|
179
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_DOCUMENT, params.query ?? "<undefined>");
|
|
184
180
|
if (params.operationName) {
|
|
185
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_NAME, params.operationName);
|
|
181
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_NAME, params.operationName);
|
|
186
182
|
}
|
|
187
183
|
}
|
|
188
184
|
const typeInfos = /* @__PURE__ */ new WeakMap();
|
|
@@ -204,13 +200,13 @@ function setDocumentAttributesOnOperationSpan(input) {
|
|
|
204
200
|
const { ctx, document } = input;
|
|
205
201
|
const span = api.trace.getSpan(ctx);
|
|
206
202
|
if (span) {
|
|
207
|
-
span.setAttribute(SEMATTRS_GRAPHQL_DOCUMENT, transportCommon.defaultPrintFn(document));
|
|
203
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_DOCUMENT, transportCommon.defaultPrintFn(document));
|
|
208
204
|
const operation = getOperationFromDocument(document, input.operationName);
|
|
209
205
|
if (operation) {
|
|
210
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_TYPE, operation.operation);
|
|
206
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_TYPE, operation.operation);
|
|
211
207
|
const operationName = operation.name?.value;
|
|
212
208
|
if (operationName) {
|
|
213
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_NAME, operationName);
|
|
209
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_NAME, operationName);
|
|
214
210
|
span.updateName(`graphql.operation ${operationName}`);
|
|
215
211
|
}
|
|
216
212
|
}
|
|
@@ -240,18 +236,18 @@ function setGraphQLParseAttributes(input) {
|
|
|
240
236
|
return;
|
|
241
237
|
}
|
|
242
238
|
if (input.query) {
|
|
243
|
-
span.setAttribute(SEMATTRS_GRAPHQL_DOCUMENT, input.query);
|
|
239
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_DOCUMENT, input.query);
|
|
244
240
|
}
|
|
245
241
|
if (input.result instanceof Error) {
|
|
246
|
-
span.setAttribute(SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, 1);
|
|
242
|
+
span.setAttribute(attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, 1);
|
|
247
243
|
} else {
|
|
248
244
|
const document = input.result;
|
|
249
245
|
const operation = getOperationFromDocument(document, input.operationName);
|
|
250
246
|
if (operation) {
|
|
251
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_TYPE, operation.operation);
|
|
247
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_TYPE, operation.operation);
|
|
252
248
|
const operationName = operation.name?.value;
|
|
253
249
|
if (operationName) {
|
|
254
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_NAME, operationName);
|
|
250
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_NAME, operationName);
|
|
255
251
|
}
|
|
256
252
|
}
|
|
257
253
|
}
|
|
@@ -273,9 +269,9 @@ function setGraphQLValidateAttributes(input) {
|
|
|
273
269
|
const operation = getOperationFromDocument(document, input.operationName);
|
|
274
270
|
if (operation) {
|
|
275
271
|
const operationName = operation.name?.value;
|
|
276
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_TYPE, operation.operation);
|
|
272
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_TYPE, operation.operation);
|
|
277
273
|
if (operationName) {
|
|
278
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_NAME, operationName);
|
|
274
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_NAME, operationName);
|
|
279
275
|
}
|
|
280
276
|
}
|
|
281
277
|
const errors = Array.isArray(result) ? result : [];
|
|
@@ -283,7 +279,7 @@ function setGraphQLValidateAttributes(input) {
|
|
|
283
279
|
errors.push(result);
|
|
284
280
|
}
|
|
285
281
|
if (errors.length > 0) {
|
|
286
|
-
span.setAttribute(SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, result.length);
|
|
282
|
+
span.setAttribute(attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, result.length);
|
|
287
283
|
span.setStatus({
|
|
288
284
|
code: api.SpanStatusCode.ERROR,
|
|
289
285
|
message: result.map((e) => e.message).join(", ")
|
|
@@ -295,7 +291,7 @@ function setGraphQLValidateAttributes(input) {
|
|
|
295
291
|
}
|
|
296
292
|
span.recordException(error);
|
|
297
293
|
}
|
|
298
|
-
span.setAttribute(SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, codes);
|
|
294
|
+
span.setAttribute(attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, codes);
|
|
299
295
|
}
|
|
300
296
|
}
|
|
301
297
|
function createGraphQLExecuteSpan(input) {
|
|
@@ -317,7 +313,7 @@ function setGraphQLExecutionAttributes(input) {
|
|
|
317
313
|
if (operationSpan) {
|
|
318
314
|
const hash = hashOperationFn?.({ ...args });
|
|
319
315
|
if (hash) {
|
|
320
|
-
operationSpan.setAttribute(SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, hash);
|
|
316
|
+
operationSpan.setAttribute(attributes.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, hash);
|
|
321
317
|
}
|
|
322
318
|
}
|
|
323
319
|
const span = api.trace.getSpan(ctx);
|
|
@@ -328,10 +324,10 @@ function setGraphQLExecutionAttributes(input) {
|
|
|
328
324
|
args.document,
|
|
329
325
|
args.operationName
|
|
330
326
|
);
|
|
331
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_TYPE, operation.operation);
|
|
327
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_TYPE, operation.operation);
|
|
332
328
|
const operationName = operation.name?.value;
|
|
333
329
|
if (operationName) {
|
|
334
|
-
span.setAttribute(SEMATTRS_GRAPHQL_OPERATION_NAME, operationName);
|
|
330
|
+
span.setAttribute(attributes.SEMATTRS_GRAPHQL_OPERATION_NAME, operationName);
|
|
335
331
|
}
|
|
336
332
|
}
|
|
337
333
|
function setGraphQLExecutionResultAttributes(input) {
|
|
@@ -342,13 +338,13 @@ function setGraphQLExecutionResultAttributes(input) {
|
|
|
342
338
|
}
|
|
343
339
|
if (input.subgraphNames?.length) {
|
|
344
340
|
span.setAttribute(
|
|
345
|
-
SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES,
|
|
341
|
+
attributes.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES,
|
|
346
342
|
input.subgraphNames
|
|
347
343
|
);
|
|
348
344
|
}
|
|
349
345
|
if (!utils.isAsyncIterable(result) && // FIXME: Handle async iterable too
|
|
350
346
|
result.errors && result.errors.length > 0) {
|
|
351
|
-
span.setAttribute(SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, result.errors.length);
|
|
347
|
+
span.setAttribute(attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, result.errors.length);
|
|
352
348
|
span.setStatus({
|
|
353
349
|
code: api.SpanStatusCode.ERROR,
|
|
354
350
|
message: result.errors.map((e) => e.message).join(", ")
|
|
@@ -361,7 +357,7 @@ function setGraphQLExecutionResultAttributes(input) {
|
|
|
361
357
|
}
|
|
362
358
|
}
|
|
363
359
|
if (codes.length > 0) {
|
|
364
|
-
span.setAttribute(SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, codes);
|
|
360
|
+
span.setAttribute(attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, codes);
|
|
365
361
|
}
|
|
366
362
|
}
|
|
367
363
|
}
|
|
@@ -374,12 +370,13 @@ function createSubgraphExecuteSpan(input) {
|
|
|
374
370
|
`subgraph.execute (${input.subgraphName})`,
|
|
375
371
|
{
|
|
376
372
|
attributes: {
|
|
377
|
-
[SEMATTRS_GRAPHQL_OPERATION_NAME]: operation.name?.value,
|
|
378
|
-
[SEMATTRS_GRAPHQL_DOCUMENT]: transportCommon.defaultPrintFn(
|
|
373
|
+
[attributes.SEMATTRS_GRAPHQL_OPERATION_NAME]: operation.name?.value,
|
|
374
|
+
[attributes.SEMATTRS_GRAPHQL_DOCUMENT]: transportCommon.defaultPrintFn(
|
|
379
375
|
input.executionRequest.document
|
|
380
376
|
),
|
|
381
|
-
[SEMATTRS_GRAPHQL_OPERATION_TYPE]: operation.operation,
|
|
382
|
-
[SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME]: input.subgraphName
|
|
377
|
+
[attributes.SEMATTRS_GRAPHQL_OPERATION_TYPE]: operation.operation,
|
|
378
|
+
[attributes.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME]: input.subgraphName,
|
|
379
|
+
[attributes.SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION]: true
|
|
383
380
|
},
|
|
384
381
|
kind: api.SpanKind.CLIENT
|
|
385
382
|
},
|
|
@@ -884,6 +881,9 @@ function useOpenTelemetry(options) {
|
|
|
884
881
|
]
|
|
885
882
|
);
|
|
886
883
|
if (typeof requestId === "string") {
|
|
884
|
+
const httpCtx = state.forRequest.otel?.root;
|
|
885
|
+
const httpSpan = httpCtx && api.trace.getSpan(httpCtx);
|
|
886
|
+
httpSpan?.setAttribute(attributes.SEMATTRS_HIVE_REQUEST_ID, requestId);
|
|
887
887
|
otelCtxForRequestId.set(requestId, getContext(state));
|
|
888
888
|
}
|
|
889
889
|
}
|
|
@@ -1087,7 +1087,7 @@ function resolveTracesConfig(options, useContextManager, log) {
|
|
|
1087
1087
|
}
|
|
1088
1088
|
let traces = typeof options.traces === "object" ? options.traces : {};
|
|
1089
1089
|
traces.spans ??= {};
|
|
1090
|
-
if (traces.spans.http ?? true) {
|
|
1090
|
+
if ((traces.spans.http ?? true) === true) {
|
|
1091
1091
|
traces.spans = { ...traces.spans, http: defaultHttpFilter };
|
|
1092
1092
|
}
|
|
1093
1093
|
if (!useContextManager) {
|
|
@@ -1101,14 +1101,6 @@ function resolveTracesConfig(options, useContextManager, log) {
|
|
|
1101
1101
|
return traces;
|
|
1102
1102
|
}
|
|
1103
1103
|
|
|
1104
|
-
exports.SEMATTRS_GRAPHQL_DOCUMENT = SEMATTRS_GRAPHQL_DOCUMENT;
|
|
1105
|
-
exports.SEMATTRS_GRAPHQL_OPERATION_NAME = SEMATTRS_GRAPHQL_OPERATION_NAME;
|
|
1106
|
-
exports.SEMATTRS_GRAPHQL_OPERATION_TYPE = SEMATTRS_GRAPHQL_OPERATION_TYPE;
|
|
1107
|
-
exports.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES;
|
|
1108
|
-
exports.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME;
|
|
1109
|
-
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = SEMATTRS_HIVE_GRAPHQL_ERROR_CODES;
|
|
1110
|
-
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT;
|
|
1111
|
-
exports.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH;
|
|
1112
1104
|
exports.diagLogLevelFromEnv = diagLogLevelFromEnv;
|
|
1113
1105
|
exports.getEnvBool = getEnvBool;
|
|
1114
1106
|
exports.getEnvStr = getEnvStr;
|
package/dist/setup.cjs
CHANGED
|
@@ -6,8 +6,9 @@ var core = require('@opentelemetry/core');
|
|
|
6
6
|
var resources = require('@opentelemetry/resources');
|
|
7
7
|
var sdkTraceBase = require('@opentelemetry/sdk-trace-base');
|
|
8
8
|
var semanticConventions = require('@opentelemetry/semantic-conventions');
|
|
9
|
-
var plugin = require('./plugin-
|
|
9
|
+
var plugin = require('./plugin-DqVaQukh.cjs');
|
|
10
10
|
var exporterTraceOtlpHttp = require('@opentelemetry/exporter-trace-otlp-http');
|
|
11
|
+
var attributes = require('./attributes.cjs');
|
|
11
12
|
var apiLogs = require('@opentelemetry/api-logs');
|
|
12
13
|
var sdkLogs = require('@opentelemetry/sdk-logs');
|
|
13
14
|
require('@graphql-hive/gateway-runtime');
|
|
@@ -57,7 +58,6 @@ class HiveTracingSpanProcessor {
|
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
59
60
|
if (isOperationSpan(span)) {
|
|
60
|
-
span.setAttribute("hive.graphql", true);
|
|
61
61
|
traceState?.operationRoots.set(spanId, span);
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
@@ -65,7 +65,7 @@ class HiveTracingSpanProcessor {
|
|
|
65
65
|
if (operationRoot) {
|
|
66
66
|
traceState.operationRoots.set(spanId, operationRoot);
|
|
67
67
|
}
|
|
68
|
-
if (span.
|
|
68
|
+
if (span.attributes[attributes.SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION]) {
|
|
69
69
|
traceState.subgraphExecutions.set(spanId, span);
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
@@ -105,14 +105,14 @@ class HiveTracingSpanProcessor {
|
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
107
|
if (SPANS_WITH_ERRORS.includes(span.name)) {
|
|
108
|
-
copyAttribute(span, operationSpan,
|
|
109
|
-
copyAttribute(span, operationSpan,
|
|
108
|
+
copyAttribute(span, operationSpan, attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES);
|
|
109
|
+
copyAttribute(span, operationSpan, attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT);
|
|
110
110
|
}
|
|
111
111
|
if (span.name === "graphql.execute") {
|
|
112
112
|
copyAttribute(
|
|
113
113
|
span,
|
|
114
114
|
operationSpan,
|
|
115
|
-
|
|
115
|
+
attributes.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES
|
|
116
116
|
);
|
|
117
117
|
}
|
|
118
118
|
const subgraphExecution = traceState.subgraphExecutions.get(spanId);
|
|
@@ -133,18 +133,14 @@ class HiveTracingSpanProcessor {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
function isHttpSpan(span) {
|
|
136
|
-
return !!span.attributes[
|
|
136
|
+
return !!span.attributes[attributes.SEMATTRS_IS_HIVE_REQUEST];
|
|
137
|
+
}
|
|
138
|
+
function isOperationSpan(span) {
|
|
139
|
+
return !!span.attributes[attributes.SEMATTRS_IS_HIVE_GRAPHQL_OPERATION];
|
|
137
140
|
}
|
|
138
141
|
function copyAttribute(source, target, sourceAttrName, targetAttrName = sourceAttrName) {
|
|
139
142
|
target.attributes[targetAttrName] = source.attributes[sourceAttrName];
|
|
140
143
|
}
|
|
141
|
-
function isOperationSpan(span) {
|
|
142
|
-
if (!span.name.startsWith("graphql.operation")) {
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
const followingChar = span.name.at(17);
|
|
146
|
-
return !followingChar || followingChar === " ";
|
|
147
|
-
}
|
|
148
144
|
const SPANS_WITH_ERRORS = [
|
|
149
145
|
"graphql.parse",
|
|
150
146
|
"graphql.validate",
|
|
@@ -224,7 +220,7 @@ function getContextForRequest(attributes) {
|
|
|
224
220
|
return plugin.otelCtxForRequestId.get(attributes.requestId) ?? api.ROOT_CONTEXT;
|
|
225
221
|
}
|
|
226
222
|
|
|
227
|
-
globalThis.__OTEL_PLUGIN_VERSION__ = '1.3.0-alpha-
|
|
223
|
+
globalThis.__OTEL_PLUGIN_VERSION__ = '1.3.0-alpha-8f7a9ec0ed7ecb561a0901704d8df55dd75ff7da';
|
|
228
224
|
let initialized = false;
|
|
229
225
|
function openTelemetrySetup(options) {
|
|
230
226
|
const log = options.log || new logger.Logger();
|
|
@@ -456,14 +452,18 @@ Object.defineProperty(exports, "SEMATTRS_NET_HOST_NAME", {
|
|
|
456
452
|
enumerable: true,
|
|
457
453
|
get: function () { return semanticConventions.SEMATTRS_NET_HOST_NAME; }
|
|
458
454
|
});
|
|
459
|
-
exports.SEMATTRS_GRAPHQL_DOCUMENT =
|
|
460
|
-
exports.SEMATTRS_GRAPHQL_OPERATION_NAME =
|
|
461
|
-
exports.SEMATTRS_GRAPHQL_OPERATION_TYPE =
|
|
462
|
-
exports.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES =
|
|
463
|
-
exports.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME =
|
|
464
|
-
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES =
|
|
465
|
-
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT =
|
|
466
|
-
exports.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH =
|
|
455
|
+
exports.SEMATTRS_GRAPHQL_DOCUMENT = attributes.SEMATTRS_GRAPHQL_DOCUMENT;
|
|
456
|
+
exports.SEMATTRS_GRAPHQL_OPERATION_NAME = attributes.SEMATTRS_GRAPHQL_OPERATION_NAME;
|
|
457
|
+
exports.SEMATTRS_GRAPHQL_OPERATION_TYPE = attributes.SEMATTRS_GRAPHQL_OPERATION_TYPE;
|
|
458
|
+
exports.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = attributes.SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES;
|
|
459
|
+
exports.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = attributes.SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME;
|
|
460
|
+
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_CODES;
|
|
461
|
+
exports.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = attributes.SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT;
|
|
462
|
+
exports.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = attributes.SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH;
|
|
463
|
+
exports.SEMATTRS_HIVE_REQUEST_ID = attributes.SEMATTRS_HIVE_REQUEST_ID;
|
|
464
|
+
exports.SEMATTRS_IS_HIVE_GRAPHQL_OPERATION = attributes.SEMATTRS_IS_HIVE_GRAPHQL_OPERATION;
|
|
465
|
+
exports.SEMATTRS_IS_HIVE_REQUEST = attributes.SEMATTRS_IS_HIVE_REQUEST;
|
|
466
|
+
exports.SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION = attributes.SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION;
|
|
467
467
|
exports.HIVE_LOG_LEVEL_NUMBERS = HIVE_LOG_LEVEL_NUMBERS;
|
|
468
468
|
exports.HiveTracingSpanProcessor = HiveTracingSpanProcessor;
|
|
469
469
|
exports.OpenTelemetryLogWriter = OpenTelemetryLogWriter;
|
package/dist/setup.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import { LogWriter, LogLevel, Attributes, Logger as Logger$1 } from '@graphql-hi
|
|
|
2
2
|
import { Context, TracerProvider, ContextManager, TextMapPropagator } from '@opentelemetry/api';
|
|
3
3
|
import { Resource } from '@opentelemetry/resources';
|
|
4
4
|
import { BufferConfig, SpanProcessor, Span, SpanLimits, SpanExporter, Sampler, GeneralLimits } from '@opentelemetry/sdk-trace-base';
|
|
5
|
-
export {
|
|
5
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION } from './attributes.cjs';
|
|
6
6
|
import { Logger, SeverityNumber } from '@opentelemetry/api-logs';
|
|
7
7
|
import { LoggerProvider, LogRecordLimits, LogRecordProcessor, LogRecordExporter } from '@opentelemetry/sdk-logs';
|
|
8
8
|
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
package/dist/setup.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { LogWriter, LogLevel, Attributes, Logger as Logger$1 } from '@graphql-hi
|
|
|
2
2
|
import { Context, TracerProvider, ContextManager, TextMapPropagator } from '@opentelemetry/api';
|
|
3
3
|
import { Resource } from '@opentelemetry/resources';
|
|
4
4
|
import { BufferConfig, SpanProcessor, Span, SpanLimits, SpanExporter, Sampler, GeneralLimits } from '@opentelemetry/sdk-trace-base';
|
|
5
|
-
export {
|
|
5
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION } from './attributes.js';
|
|
6
6
|
import { Logger, SeverityNumber } from '@opentelemetry/api-logs';
|
|
7
7
|
import { LoggerProvider, LogRecordLimits, LogRecordProcessor, LogRecordExporter } from '@opentelemetry/sdk-logs';
|
|
8
8
|
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
package/dist/setup.js
CHANGED
|
@@ -3,11 +3,12 @@ import { context, ROOT_CONTEXT, DiagLogLevel, diag, trace, propagation } from '@
|
|
|
3
3
|
import { hrTimeDuration, setGlobalErrorHandler, W3CBaggagePropagator, W3CTraceContextPropagator, CompositePropagator } from '@opentelemetry/core';
|
|
4
4
|
import { resourceFromAttributes } from '@opentelemetry/resources';
|
|
5
5
|
import { BatchSpanProcessor, SimpleSpanProcessor, ConsoleSpanExporter, BasicTracerProvider, ParentBasedSampler, AlwaysOnSampler, TraceIdRatioBasedSampler } from '@opentelemetry/sdk-trace-base';
|
|
6
|
-
import {
|
|
6
|
+
import { ATTR_SERVICE_VERSION, ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
|
|
7
7
|
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions';
|
|
8
|
-
import {
|
|
9
|
-
export { S as SEMATTRS_GRAPHQL_DOCUMENT, b as SEMATTRS_GRAPHQL_OPERATION_NAME, a as SEMATTRS_GRAPHQL_OPERATION_TYPE, f as SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, c as SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH } from './plugin-CepZPqbb.js';
|
|
8
|
+
import { o as otelCtxForRequestId, g as getEnvBool, d as diagLogLevelFromEnv, a as getEnvStr } from './plugin-7AW98S14.js';
|
|
10
9
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
10
|
+
import { SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION } from './attributes.js';
|
|
11
|
+
export { SEMATTRS_GRAPHQL_DOCUMENT, SEMATTRS_GRAPHQL_OPERATION_NAME, SEMATTRS_GRAPHQL_OPERATION_TYPE, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH, SEMATTRS_HIVE_REQUEST_ID } from './attributes.js';
|
|
11
12
|
import { SeverityNumber, logs } from '@opentelemetry/api-logs';
|
|
12
13
|
import { BatchLogRecordProcessor, SimpleLogRecordProcessor, ConsoleLogRecordExporter, LoggerProvider } from '@opentelemetry/sdk-logs';
|
|
13
14
|
import '@graphql-hive/gateway-runtime';
|
|
@@ -57,7 +58,6 @@ class HiveTracingSpanProcessor {
|
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
59
60
|
if (isOperationSpan(span)) {
|
|
60
|
-
span.setAttribute("hive.graphql", true);
|
|
61
61
|
traceState?.operationRoots.set(spanId, span);
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
@@ -65,7 +65,7 @@ class HiveTracingSpanProcessor {
|
|
|
65
65
|
if (operationRoot) {
|
|
66
66
|
traceState.operationRoots.set(spanId, operationRoot);
|
|
67
67
|
}
|
|
68
|
-
if (span.
|
|
68
|
+
if (span.attributes[SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION]) {
|
|
69
69
|
traceState.subgraphExecutions.set(spanId, span);
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
@@ -133,18 +133,14 @@ class HiveTracingSpanProcessor {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
function isHttpSpan(span) {
|
|
136
|
-
return !!span.attributes[
|
|
136
|
+
return !!span.attributes[SEMATTRS_IS_HIVE_REQUEST];
|
|
137
|
+
}
|
|
138
|
+
function isOperationSpan(span) {
|
|
139
|
+
return !!span.attributes[SEMATTRS_IS_HIVE_GRAPHQL_OPERATION];
|
|
137
140
|
}
|
|
138
141
|
function copyAttribute(source, target, sourceAttrName, targetAttrName = sourceAttrName) {
|
|
139
142
|
target.attributes[targetAttrName] = source.attributes[sourceAttrName];
|
|
140
143
|
}
|
|
141
|
-
function isOperationSpan(span) {
|
|
142
|
-
if (!span.name.startsWith("graphql.operation")) {
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
const followingChar = span.name.at(17);
|
|
146
|
-
return !followingChar || followingChar === " ";
|
|
147
|
-
}
|
|
148
144
|
const SPANS_WITH_ERRORS = [
|
|
149
145
|
"graphql.parse",
|
|
150
146
|
"graphql.validate",
|
|
@@ -224,7 +220,7 @@ function getContextForRequest(attributes) {
|
|
|
224
220
|
return otelCtxForRequestId.get(attributes.requestId) ?? ROOT_CONTEXT;
|
|
225
221
|
}
|
|
226
222
|
|
|
227
|
-
globalThis.__OTEL_PLUGIN_VERSION__ = '1.3.0-alpha-
|
|
223
|
+
globalThis.__OTEL_PLUGIN_VERSION__ = '1.3.0-alpha-8f7a9ec0ed7ecb561a0901704d8df55dd75ff7da';
|
|
228
224
|
let initialized = false;
|
|
229
225
|
function openTelemetrySetup(options) {
|
|
230
226
|
const log = options.log || new Logger();
|
|
@@ -408,4 +404,4 @@ function disable() {
|
|
|
408
404
|
initialized = false;
|
|
409
405
|
}
|
|
410
406
|
|
|
411
|
-
export { HIVE_LOG_LEVEL_NUMBERS, HiveTracingSpanProcessor, OpenTelemetryLogWriter, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, disable, getContextForRequest, hiveTracingSetup, openTelemetrySetup };
|
|
407
|
+
export { HIVE_LOG_LEVEL_NUMBERS, HiveTracingSpanProcessor, OpenTelemetryLogWriter, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT, SEMATTRS_IS_HIVE_GRAPHQL_OPERATION, SEMATTRS_IS_HIVE_REQUEST, SEMATTRS_IS_HIVE_SUBGRAPH_EXECUTION, disable, getContextForRequest, hiveTracingSetup, openTelemetrySetup };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-hive/plugin-opentelemetry",
|
|
3
|
-
"version": "1.3.0-alpha-
|
|
3
|
+
"version": "1.3.0-alpha-8f7a9ec0ed7ecb561a0901704d8df55dd75ff7da",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -49,6 +49,16 @@
|
|
|
49
49
|
"default": "./dist/api.js"
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
|
+
"./attributes": {
|
|
53
|
+
"require": {
|
|
54
|
+
"types": "./dist/attributes.d.cts",
|
|
55
|
+
"default": "./dist/attributes.cjs"
|
|
56
|
+
},
|
|
57
|
+
"import": {
|
|
58
|
+
"types": "./dist/attributes.d.ts",
|
|
59
|
+
"default": "./dist/attributes.js"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
52
62
|
"./package.json": "./package.json"
|
|
53
63
|
},
|
|
54
64
|
"files": [
|
|
@@ -63,7 +73,7 @@
|
|
|
63
73
|
},
|
|
64
74
|
"dependencies": {
|
|
65
75
|
"@graphql-hive/core": "^0.18.0",
|
|
66
|
-
"@graphql-hive/gateway-runtime": "2.5.0-alpha-
|
|
76
|
+
"@graphql-hive/gateway-runtime": "2.5.0-alpha-8f7a9ec0ed7ecb561a0901704d8df55dd75ff7da",
|
|
67
77
|
"@graphql-hive/logger": "^1.0.9",
|
|
68
78
|
"@graphql-mesh/cross-helpers": "^0.4.10",
|
|
69
79
|
"@graphql-mesh/transport-common": "^1.0.12",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
declare const SEMATTRS_GRAPHQL_DOCUMENT = "graphql.document";
|
|
2
|
-
declare const SEMATTRS_GRAPHQL_OPERATION_TYPE = "graphql.operation.type";
|
|
3
|
-
declare const SEMATTRS_GRAPHQL_OPERATION_NAME = "graphql.operation.name";
|
|
4
|
-
declare const SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH = "hive.graphql.operation.hash";
|
|
5
|
-
declare const SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT = "hive.graphql.error.count";
|
|
6
|
-
declare const SEMATTRS_HIVE_GRAPHQL_ERROR_CODES = "hive.graphql.error.codes";
|
|
7
|
-
declare const SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME = "hive.gateway.upstream.subgraph.name";
|
|
8
|
-
declare const SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES = "hive.gateway.operation.subgraph.names";
|
|
9
|
-
|
|
10
|
-
export { SEMATTRS_GRAPHQL_DOCUMENT as S, SEMATTRS_GRAPHQL_OPERATION_TYPE as a, SEMATTRS_GRAPHQL_OPERATION_NAME as b, SEMATTRS_HIVE_GRAPHQL_OPERATION_HASH as c, SEMATTRS_HIVE_GRAPHQL_ERROR_COUNT as d, SEMATTRS_HIVE_GRAPHQL_ERROR_CODES as e, SEMATTRS_HIVE_GATEWAY_UPSTREAM_SUBGRAPH_NAME as f, SEMATTRS_HIVE_GATEWAY_OPERATION_SUBGRAPH_NAMES as g };
|