@apollo/gateway 2.13.2 → 2.14.0
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/utilities/opentelemetry.d.ts +3 -0
- package/dist/utilities/opentelemetry.d.ts.map +1 -1
- package/dist/utilities/opentelemetry.js +119 -1
- package/dist/utilities/opentelemetry.js.map +1 -1
- package/package.json +15 -5
- package/src/index.ts +19 -4
- package/src/utilities/opentelemetry.ts +126 -2
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EAEd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAoB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,YAAY,EAGb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EACxC,8BAA8B,EAC9B,eAAe,EACf,aAAa,EAQb,iBAAiB,EAClB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ Object.defineProperty(exports, "buildOperationContext", { enumerable: true, get:
|
|
|
23
23
|
const executeQueryPlan_1 = require("./executeQueryPlan");
|
|
24
24
|
Object.defineProperty(exports, "executeQueryPlan", { enumerable: true, get: function () { return executeQueryPlan_1.executeQueryPlan; } });
|
|
25
25
|
const types_1 = require("./datasources/types");
|
|
26
|
-
const
|
|
26
|
+
const datasources_1 = require("./datasources");
|
|
27
27
|
const values_1 = require("graphql/execution/values");
|
|
28
28
|
const query_planner_1 = require("@apollo/query-planner");
|
|
29
29
|
const config_1 = require("./config");
|
|
@@ -173,6 +173,10 @@ class ApolloGateway {
|
|
|
173
173
|
this.pollIntervalInMs = (_c = this.config) === null || _c === void 0 ? void 0 : _c.pollIntervalInMs;
|
|
174
174
|
}
|
|
175
175
|
this.validateConfigAndEmitWarnings();
|
|
176
|
+
if (process.env.APOLLO_TELEMETRY_DISABLED !== 'true' && process.env.APOLLO_TELEMETRY_DISABLED !== '1') {
|
|
177
|
+
const meterProvider = (0, opentelemetry_1.createDataCollectionExporter)();
|
|
178
|
+
this.toDispose.push(() => meterProvider.shutdown());
|
|
179
|
+
}
|
|
176
180
|
this.logger.debug('Gateway successfully initialized (but not yet loaded)');
|
|
177
181
|
this.state = { phase: 'initialized' };
|
|
178
182
|
}
|
|
@@ -512,8 +516,8 @@ class ApolloGateway {
|
|
|
512
516
|
}
|
|
513
517
|
return this.config.buildService
|
|
514
518
|
? this.config.buildService(serviceDef)
|
|
515
|
-
: new
|
|
516
|
-
url: serviceDef.url
|
|
519
|
+
: new datasources_1.RemoteGraphQLDataSource({
|
|
520
|
+
url: serviceDef.url
|
|
517
521
|
});
|
|
518
522
|
}
|
|
519
523
|
createServices(services) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Attributes, Exception, Span } from '@opentelemetry/api';
|
|
2
2
|
import type { GatewayGraphQLRequestContext } from '@apollo/server-gateway-interface';
|
|
3
3
|
import { OperationContext } from '../operationContext';
|
|
4
|
+
import { MeterProvider, PushMetricExporter } from '@opentelemetry/sdk-metrics';
|
|
4
5
|
export type OpenTelemetryConfig = {
|
|
5
6
|
includeDocument?: boolean;
|
|
6
7
|
recordExceptions?: boolean | number;
|
|
@@ -29,4 +30,6 @@ export interface SpanAttributes extends Attributes {
|
|
|
29
30
|
export declare function requestContextSpanAttributes(requestContext: GatewayGraphQLRequestContext, config: OpenTelemetryConfig | undefined): SpanAttributes;
|
|
30
31
|
export declare function operationContextSpanAttributes(operationContext: OperationContext): SpanAttributes;
|
|
31
32
|
export declare function recordExceptions(span: Span, exceptions: readonly Exception[], config: OpenTelemetryConfig | undefined): void;
|
|
33
|
+
export declare function createDataCollectionMeterProvider(metricExporter: PushMetricExporter): MeterProvider;
|
|
34
|
+
export declare function createDataCollectionExporter(): MeterProvider;
|
|
32
35
|
//# sourceMappingURL=opentelemetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EACL,aAAa,EAEb,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAmBpC,MAAM,MAAM,mBAAmB,GAAG;IAOhC,eAAe,CAAC,EAAE,OAAO,CAAC;IAa1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACrC,CAAC;AAEF,oBAAY,sBAAsB;IAChC,OAAO,oBAAoB;IAC3B,IAAI,iBAAiB;IACrB,KAAK,kBAAkB;IACvB,eAAe,2BAA2B;IAC1C,OAAO,oBAAoB;IAC3B,QAAQ,qBAAqB;CAC9B;AAOD,oBAAY,2BAA2B;IACrC,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IACjD,iCAAiC,kBAAkB;IACnD,sBAAsB,2BAA2B;CAClD;AAGD,eAAO,MAAM,MAAM,qCAAsD,CAAC;AAO1E,MAAM,WAAW,cAAe,SAAQ,UAAU;IAIhD,CAAC,2BAA2B,CAAC,iCAAiC,CAAC,CAAC,EAAE,MAAM,CAAC;IACzE,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9D,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9D,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC;CACzD;AAED,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,4BAA4B,EAC5C,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC,cAAc,CAgBhB;AAED,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,gBAAgB,GACjC,cAAc,CAShB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,MAAM,EAAE,mBAAmB,GAAG,SAAS,QAqBxC;AAGD,wBAAgB,iCAAiC,CAAC,cAAc,EAAE,kBAAkB,GAAG,aAAa,CAuFnG;AAED,wBAAgB,4BAA4B,IAAI,aAAa,CAE5D"}
|
|
@@ -1,10 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.recordExceptions = exports.operationContextSpanAttributes = exports.requestContextSpanAttributes = exports.tracer = exports.OpenTelemetryAttributeNames = exports.OpenTelemetrySpanNames = void 0;
|
|
29
|
+
exports.createDataCollectionExporter = exports.createDataCollectionMeterProvider = exports.recordExceptions = exports.operationContextSpanAttributes = exports.requestContextSpanAttributes = exports.tracer = exports.OpenTelemetryAttributeNames = exports.OpenTelemetrySpanNames = void 0;
|
|
7
30
|
const api_1 = __importDefault(require("@opentelemetry/api"));
|
|
31
|
+
const node_cpu_count_1 = require("node-cpu-count");
|
|
32
|
+
const os = __importStar(require("node:os"));
|
|
33
|
+
const incubating_1 = require("@opentelemetry/semantic-conventions/incubating");
|
|
34
|
+
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
35
|
+
const resource_detector_alibaba_cloud_1 = require("@opentelemetry/resource-detector-alibaba-cloud");
|
|
36
|
+
const resource_detector_aws_1 = require("@opentelemetry/resource-detector-aws");
|
|
37
|
+
const resource_detector_gcp_1 = require("@opentelemetry/resource-detector-gcp");
|
|
38
|
+
const resource_detector_azure_1 = require("@opentelemetry/resource-detector-azure");
|
|
39
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
40
|
+
const exporter_metrics_otlp_http_1 = require("@opentelemetry/exporter-metrics-otlp-http");
|
|
41
|
+
const node_crypto_1 = require("node:crypto");
|
|
8
42
|
var OpenTelemetrySpanNames;
|
|
9
43
|
(function (OpenTelemetrySpanNames) {
|
|
10
44
|
OpenTelemetrySpanNames["REQUEST"] = "gateway.request";
|
|
@@ -23,6 +57,10 @@ var OpenTelemetryAttributeNames;
|
|
|
23
57
|
})(OpenTelemetryAttributeNames || (exports.OpenTelemetryAttributeNames = OpenTelemetryAttributeNames = {}));
|
|
24
58
|
const { name, version } = require('../../package.json');
|
|
25
59
|
exports.tracer = api_1.default.trace.getTracer(`${name}/${version}`);
|
|
60
|
+
const APOLLO_OTEL_ENDPOINT = "https://usage-reporting.api.apollographql.com";
|
|
61
|
+
const EXPORT_INTERVAL_SECONDS = 60 * 60;
|
|
62
|
+
const EXPORT_INTERVAL_MILLIS = 1000 * EXPORT_INTERVAL_SECONDS;
|
|
63
|
+
const SI_MEGA = 1000000;
|
|
26
64
|
function requestContextSpanAttributes(requestContext, config) {
|
|
27
65
|
const spanAttributes = {};
|
|
28
66
|
if (requestContext.operationName) {
|
|
@@ -66,4 +104,84 @@ function recordExceptions(span, exceptions, config) {
|
|
|
66
104
|
}
|
|
67
105
|
}
|
|
68
106
|
exports.recordExceptions = recordExceptions;
|
|
107
|
+
function createDataCollectionMeterProvider(metricExporter) {
|
|
108
|
+
const resource = (0, resources_1.detectResourcesSync)({
|
|
109
|
+
detectors: [
|
|
110
|
+
resource_detector_alibaba_cloud_1.alibabaCloudEcsDetector,
|
|
111
|
+
resource_detector_aws_1.awsEc2Detector,
|
|
112
|
+
resource_detector_aws_1.awsBeanstalkDetector,
|
|
113
|
+
resource_detector_aws_1.awsEcsDetector,
|
|
114
|
+
resource_detector_aws_1.awsEksDetector,
|
|
115
|
+
resource_detector_aws_1.awsLambdaDetector,
|
|
116
|
+
resource_detector_gcp_1.gcpDetector,
|
|
117
|
+
resource_detector_azure_1.azureVmDetector,
|
|
118
|
+
resource_detector_azure_1.azureFunctionsDetector,
|
|
119
|
+
resource_detector_azure_1.azureAppServiceDetector
|
|
120
|
+
],
|
|
121
|
+
});
|
|
122
|
+
const meterProvider = new sdk_metrics_1.MeterProvider({
|
|
123
|
+
resource: resource.merge(new resources_1.Resource({
|
|
124
|
+
[incubating_1.ATTR_SERVICE_NAME]: 'gateway-js',
|
|
125
|
+
[incubating_1.ATTR_SERVICE_INSTANCE_ID]: (0, node_crypto_1.randomUUID)()
|
|
126
|
+
})),
|
|
127
|
+
readers: [
|
|
128
|
+
new sdk_metrics_1.PeriodicExportingMetricReader({
|
|
129
|
+
exporter: metricExporter,
|
|
130
|
+
exportIntervalMillis: EXPORT_INTERVAL_MILLIS,
|
|
131
|
+
}),
|
|
132
|
+
],
|
|
133
|
+
});
|
|
134
|
+
const hostAttrs = resources_1.hostDetectorSync.detect().attributes;
|
|
135
|
+
const osAttrs = resources_1.osDetectorSync.detect().attributes;
|
|
136
|
+
const osType = osAttrs[incubating_1.ATTR_OS_TYPE];
|
|
137
|
+
const hostArch = hostAttrs[incubating_1.ATTR_HOST_ARCH];
|
|
138
|
+
const meter = meterProvider.getMeter("apollo/gateway-js");
|
|
139
|
+
const uptimeGauge = meter.createObservableGauge(incubating_1.METRIC_PROCESS_UPTIME, {
|
|
140
|
+
"description": "The uptime of the JS federation gateway running"
|
|
141
|
+
});
|
|
142
|
+
const instanceAttrs = {
|
|
143
|
+
[incubating_1.ATTR_OS_TYPE]: osType,
|
|
144
|
+
[incubating_1.ATTR_HOST_ARCH]: hostArch
|
|
145
|
+
};
|
|
146
|
+
if (osType === incubating_1.OS_TYPE_VALUE_LINUX) {
|
|
147
|
+
instanceAttrs["linux.distribution"] = osAttrs[incubating_1.ATTR_OS_NAME];
|
|
148
|
+
}
|
|
149
|
+
let uptime = 0;
|
|
150
|
+
uptimeGauge.addCallback((result) => {
|
|
151
|
+
result.observe(uptime, instanceAttrs);
|
|
152
|
+
uptime = uptime + EXPORT_INTERVAL_SECONDS;
|
|
153
|
+
});
|
|
154
|
+
const cpuFreqGauge = meter.createObservableGauge(incubating_1.METRIC_SYSTEM_CPU_FREQUENCY, {
|
|
155
|
+
"description": "The CPU frequency of the underlying instance the JS federation gateway is deployed to",
|
|
156
|
+
"unit": "Hz"
|
|
157
|
+
});
|
|
158
|
+
cpuFreqGauge.addCallback((result) => {
|
|
159
|
+
const cpus = os.cpus();
|
|
160
|
+
const average_frequency = os.cpus().map((a) => a.speed * SI_MEGA).reduce((partialSum, a) => partialSum + a, 0) / cpus.length;
|
|
161
|
+
result.observe(average_frequency);
|
|
162
|
+
});
|
|
163
|
+
const cpuCountGauge = meter.createObservableGauge(incubating_1.METRIC_SYSTEM_CPU_LOGICAL_COUNT, {
|
|
164
|
+
"description": "The number of CPUs reported by the instance the JS federation gateway is running on"
|
|
165
|
+
});
|
|
166
|
+
cpuCountGauge.addCallback((result) => {
|
|
167
|
+
result.observe((0, node_cpu_count_1.cpuCountSync)(), {
|
|
168
|
+
[incubating_1.ATTR_HOST_ARCH]: hostArch,
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
const totalMemoryGauge = meter.createObservableGauge(incubating_1.METRIC_SYSTEM_MEMORY_LIMIT, {
|
|
172
|
+
"description": "The amount of memory reported by the instance the JS federation gateway is running on",
|
|
173
|
+
"unit": "bytes"
|
|
174
|
+
});
|
|
175
|
+
totalMemoryGauge.addCallback((result) => {
|
|
176
|
+
result.observe(os.totalmem(), {
|
|
177
|
+
[incubating_1.ATTR_HOST_ARCH]: hostArch,
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
return meterProvider;
|
|
181
|
+
}
|
|
182
|
+
exports.createDataCollectionMeterProvider = createDataCollectionMeterProvider;
|
|
183
|
+
function createDataCollectionExporter() {
|
|
184
|
+
return createDataCollectionMeterProvider(new exporter_metrics_otlp_http_1.OTLPMetricExporter({ url: APOLLO_OTEL_ENDPOINT }));
|
|
185
|
+
}
|
|
186
|
+
exports.createDataCollectionExporter = createDataCollectionExporter;
|
|
69
187
|
//# sourceMappingURL=opentelemetry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetry.js","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opentelemetry.js","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apollo/gateway",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"description": "Apollo Gateway",
|
|
5
5
|
"author": "Apollo <packages@apollographql.com>",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@apollo/composition": "2.
|
|
29
|
-
"@apollo/federation-internals": "2.
|
|
30
|
-
"@apollo/query-planner": "2.
|
|
28
|
+
"@apollo/composition": "2.14.0",
|
|
29
|
+
"@apollo/federation-internals": "2.14.0",
|
|
30
|
+
"@apollo/query-planner": "2.14.0",
|
|
31
31
|
"@apollo/server-gateway-interface": "^1.1.0",
|
|
32
32
|
"@apollo/usage-reporting-protobuf": "^4.1.0",
|
|
33
33
|
"@apollo/utils.createhash": "^2.0.0",
|
|
@@ -36,12 +36,22 @@
|
|
|
36
36
|
"@apollo/utils.keyvaluecache": "^2.1.0",
|
|
37
37
|
"@apollo/utils.logger": "^2.0.0",
|
|
38
38
|
"@josephg/resolvable": "^1.0.1",
|
|
39
|
-
"@opentelemetry/api": "^1.0
|
|
39
|
+
"@opentelemetry/api": "^1.9.0",
|
|
40
|
+
"@opentelemetry/core": "^1.30.1",
|
|
41
|
+
"@opentelemetry/exporter-metrics-otlp-http": "^0.57.2",
|
|
42
|
+
"@opentelemetry/resources": "^1.30.1",
|
|
43
|
+
"@opentelemetry/resource-detector-alibaba-cloud": "0.30.1",
|
|
44
|
+
"@opentelemetry/resource-detector-aws": "1.12.0",
|
|
45
|
+
"@opentelemetry/resource-detector-azure": "0.6.1",
|
|
46
|
+
"@opentelemetry/resource-detector-gcp": "0.33.1",
|
|
47
|
+
"@opentelemetry/sdk-metrics": "^1.30.1",
|
|
48
|
+
"@opentelemetry/semantic-conventions": "^1.28.0",
|
|
40
49
|
"@types/node-fetch": "^2.6.2",
|
|
41
50
|
"async-retry": "^1.3.3",
|
|
42
51
|
"loglevel": "^1.6.1",
|
|
43
52
|
"make-fetch-happen": "^11.0.0 || ^15.0.3",
|
|
44
53
|
"node-abort-controller": "^3.0.1",
|
|
54
|
+
"node-cpu-count": "^0.1.1",
|
|
45
55
|
"node-fetch": "^2.6.7"
|
|
46
56
|
},
|
|
47
57
|
"peerDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
GraphQLDataSource,
|
|
17
17
|
GraphQLDataSourceRequestKind,
|
|
18
18
|
} from './datasources/types';
|
|
19
|
-
import { RemoteGraphQLDataSource } from './datasources
|
|
19
|
+
import { RemoteGraphQLDataSource } from './datasources';
|
|
20
20
|
import { getVariableValues } from 'graphql/execution/values';
|
|
21
21
|
import {
|
|
22
22
|
QueryPlanner,
|
|
@@ -47,7 +47,8 @@ import {
|
|
|
47
47
|
requestContextSpanAttributes,
|
|
48
48
|
operationContextSpanAttributes,
|
|
49
49
|
recordExceptions,
|
|
50
|
-
OpenTelemetryAttributeNames
|
|
50
|
+
OpenTelemetryAttributeNames,
|
|
51
|
+
createDataCollectionExporter,
|
|
51
52
|
} from './utilities/opentelemetry';
|
|
52
53
|
import { addExtensions } from './schema-helper/addExtensions';
|
|
53
54
|
import {
|
|
@@ -64,7 +65,12 @@ import {
|
|
|
64
65
|
Supergraph,
|
|
65
66
|
} from '@apollo/federation-internals';
|
|
66
67
|
import { getDefaultLogger } from './logger';
|
|
67
|
-
import {
|
|
68
|
+
import {
|
|
69
|
+
GatewayInterface,
|
|
70
|
+
GatewayUnsubscriber,
|
|
71
|
+
GatewayGraphQLRequestContext,
|
|
72
|
+
GatewayExecutionResult,
|
|
73
|
+
} from '@apollo/server-gateway-interface';
|
|
68
74
|
|
|
69
75
|
type DataSourceMap = {
|
|
70
76
|
[serviceName: string]: { url?: string; dataSource: GraphQLDataSource };
|
|
@@ -215,6 +221,12 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
215
221
|
|
|
216
222
|
this.validateConfigAndEmitWarnings();
|
|
217
223
|
|
|
224
|
+
// Users can opt out of Apollo collecting anonymous metrics using the same env variable as Rover/Router
|
|
225
|
+
if (process.env.APOLLO_TELEMETRY_DISABLED !== 'true' && process.env.APOLLO_TELEMETRY_DISABLED !== '1') {
|
|
226
|
+
const meterProvider = createDataCollectionExporter();
|
|
227
|
+
this.toDispose.push(() => meterProvider.shutdown());
|
|
228
|
+
}
|
|
229
|
+
|
|
218
230
|
this.logger.debug('Gateway successfully initialized (but not yet loaded)');
|
|
219
231
|
this.state = { phase: 'initialized' };
|
|
220
232
|
}
|
|
@@ -738,7 +750,7 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
738
750
|
return this.config.buildService
|
|
739
751
|
? this.config.buildService(serviceDef)
|
|
740
752
|
: new RemoteGraphQLDataSource({
|
|
741
|
-
url: serviceDef.url
|
|
753
|
+
url: serviceDef.url
|
|
742
754
|
});
|
|
743
755
|
}
|
|
744
756
|
|
|
@@ -782,6 +794,7 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
782
794
|
public executor = async (
|
|
783
795
|
requestContext: GatewayGraphQLRequestContext,
|
|
784
796
|
): Promise<GatewayExecutionResult> => {
|
|
797
|
+
|
|
785
798
|
return tracer.startActiveSpan(
|
|
786
799
|
OpenTelemetrySpanNames.REQUEST,
|
|
787
800
|
{ attributes: requestContextSpanAttributes(requestContext, this.config.telemetry) },
|
|
@@ -1044,6 +1057,8 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
1044
1057
|
queryPlanner: this.queryPlanner,
|
|
1045
1058
|
};
|
|
1046
1059
|
}
|
|
1060
|
+
|
|
1061
|
+
|
|
1047
1062
|
}
|
|
1048
1063
|
|
|
1049
1064
|
ApolloGateway.prototype.onSchemaChange = deprecate(
|
|
@@ -1,7 +1,32 @@
|
|
|
1
|
-
import opentelemetry from '@opentelemetry/api';
|
|
2
1
|
import type { Attributes, Exception, Span } from '@opentelemetry/api';
|
|
2
|
+
import opentelemetry from '@opentelemetry/api';
|
|
3
3
|
import type { GatewayGraphQLRequestContext } from '@apollo/server-gateway-interface';
|
|
4
|
+
import { cpuCountSync } from 'node-cpu-count';
|
|
5
|
+
import * as os from 'node:os';
|
|
4
6
|
import { OperationContext } from '../operationContext';
|
|
7
|
+
import {ATTR_OS_TYPE, ATTR_HOST_ARCH, OS_TYPE_VALUE_LINUX, ATTR_OS_NAME, METRIC_SYSTEM_MEMORY_LIMIT, METRIC_SYSTEM_CPU_LOGICAL_COUNT, METRIC_SYSTEM_CPU_FREQUENCY, ATTR_SERVICE_NAME, ATTR_SERVICE_INSTANCE_ID, METRIC_PROCESS_UPTIME} from '@opentelemetry/semantic-conventions/incubating';
|
|
8
|
+
import {
|
|
9
|
+
MeterProvider,
|
|
10
|
+
PeriodicExportingMetricReader,
|
|
11
|
+
PushMetricExporter,
|
|
12
|
+
} from '@opentelemetry/sdk-metrics';
|
|
13
|
+
import { alibabaCloudEcsDetector } from '@opentelemetry/resource-detector-alibaba-cloud';
|
|
14
|
+
import {
|
|
15
|
+
awsBeanstalkDetector,
|
|
16
|
+
awsEc2Detector,
|
|
17
|
+
awsEcsDetector,
|
|
18
|
+
awsEksDetector,
|
|
19
|
+
awsLambdaDetector,
|
|
20
|
+
} from '@opentelemetry/resource-detector-aws';
|
|
21
|
+
import { gcpDetector } from '@opentelemetry/resource-detector-gcp';
|
|
22
|
+
import {
|
|
23
|
+
azureAppServiceDetector,
|
|
24
|
+
azureFunctionsDetector,
|
|
25
|
+
azureVmDetector,
|
|
26
|
+
} from '@opentelemetry/resource-detector-azure';
|
|
27
|
+
import { detectResourcesSync, hostDetectorSync, osDetectorSync, Resource } from '@opentelemetry/resources';
|
|
28
|
+
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
|
|
29
|
+
import { randomUUID } from 'node:crypto';
|
|
5
30
|
|
|
6
31
|
export type OpenTelemetryConfig = {
|
|
7
32
|
/**
|
|
@@ -24,7 +49,7 @@ export type OpenTelemetryConfig = {
|
|
|
24
49
|
* Defaults to `false`, meaning that no exceptions will be reported in any spans.
|
|
25
50
|
*/
|
|
26
51
|
recordExceptions?: boolean | number;
|
|
27
|
-
}
|
|
52
|
+
};
|
|
28
53
|
|
|
29
54
|
export enum OpenTelemetrySpanNames {
|
|
30
55
|
REQUEST = 'gateway.request',
|
|
@@ -50,6 +75,11 @@ export enum OpenTelemetryAttributeNames {
|
|
|
50
75
|
const { name, version } = require('../../package.json');
|
|
51
76
|
export const tracer = opentelemetry.trace.getTracer(`${name}/${version}`);
|
|
52
77
|
|
|
78
|
+
const APOLLO_OTEL_ENDPOINT = "https://usage-reporting.api.apollographql.com";
|
|
79
|
+
const EXPORT_INTERVAL_SECONDS = 60 * 60; // one hour
|
|
80
|
+
const EXPORT_INTERVAL_MILLIS = 1000 * EXPORT_INTERVAL_SECONDS;
|
|
81
|
+
const SI_MEGA = 1000000;
|
|
82
|
+
|
|
53
83
|
export interface SpanAttributes extends Attributes {
|
|
54
84
|
/**
|
|
55
85
|
* @deprecated in favor of `graphql.operation.name`
|
|
@@ -119,3 +149,97 @@ export function recordExceptions(
|
|
|
119
149
|
span.recordException(exception);
|
|
120
150
|
}
|
|
121
151
|
}
|
|
152
|
+
|
|
153
|
+
// Exposed for unit testing with a testable exporter
|
|
154
|
+
export function createDataCollectionMeterProvider(metricExporter: PushMetricExporter): MeterProvider {
|
|
155
|
+
// cloud resource detectors
|
|
156
|
+
const resource = detectResourcesSync({
|
|
157
|
+
detectors: [
|
|
158
|
+
alibabaCloudEcsDetector,
|
|
159
|
+
awsEc2Detector,
|
|
160
|
+
awsBeanstalkDetector,
|
|
161
|
+
awsEcsDetector,
|
|
162
|
+
awsEksDetector,
|
|
163
|
+
awsLambdaDetector,
|
|
164
|
+
gcpDetector,
|
|
165
|
+
azureVmDetector,
|
|
166
|
+
azureFunctionsDetector,
|
|
167
|
+
azureAppServiceDetector
|
|
168
|
+
],
|
|
169
|
+
})
|
|
170
|
+
|
|
171
|
+
const meterProvider = new MeterProvider({
|
|
172
|
+
resource: resource.merge(
|
|
173
|
+
new Resource ({
|
|
174
|
+
[ATTR_SERVICE_NAME]: 'gateway-js',
|
|
175
|
+
[ATTR_SERVICE_INSTANCE_ID]: randomUUID()
|
|
176
|
+
}),
|
|
177
|
+
),
|
|
178
|
+
readers: [
|
|
179
|
+
new PeriodicExportingMetricReader({
|
|
180
|
+
exporter: metricExporter,
|
|
181
|
+
exportIntervalMillis: EXPORT_INTERVAL_MILLIS,
|
|
182
|
+
}),
|
|
183
|
+
],
|
|
184
|
+
})
|
|
185
|
+
|
|
186
|
+
// grab the host and OS attributes explicitly so we can create `linux.distribution`
|
|
187
|
+
const hostAttrs = hostDetectorSync.detect().attributes
|
|
188
|
+
const osAttrs = osDetectorSync.detect().attributes
|
|
189
|
+
const osType = osAttrs[ATTR_OS_TYPE]
|
|
190
|
+
const hostArch = hostAttrs[ATTR_HOST_ARCH]
|
|
191
|
+
const meter = meterProvider.getMeter("apollo/gateway-js")
|
|
192
|
+
|
|
193
|
+
const uptimeGauge = meter.createObservableGauge(METRIC_PROCESS_UPTIME, {
|
|
194
|
+
"description": "The uptime of the JS federation gateway running"
|
|
195
|
+
})
|
|
196
|
+
|
|
197
|
+
const instanceAttrs: Attributes = {
|
|
198
|
+
[ATTR_OS_TYPE]: osType,
|
|
199
|
+
[ATTR_HOST_ARCH]: hostArch
|
|
200
|
+
}
|
|
201
|
+
if (osType === OS_TYPE_VALUE_LINUX) {
|
|
202
|
+
instanceAttrs["linux.distribution"] = osAttrs[ATTR_OS_NAME];
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
let uptime = 0;
|
|
206
|
+
uptimeGauge.addCallback((result) => {
|
|
207
|
+
result.observe(uptime, instanceAttrs)
|
|
208
|
+
uptime = uptime + EXPORT_INTERVAL_SECONDS;
|
|
209
|
+
})
|
|
210
|
+
|
|
211
|
+
const cpuFreqGauge = meter.createObservableGauge(METRIC_SYSTEM_CPU_FREQUENCY, {
|
|
212
|
+
"description": "The CPU frequency of the underlying instance the JS federation gateway is deployed to",
|
|
213
|
+
"unit": "Hz"
|
|
214
|
+
})
|
|
215
|
+
cpuFreqGauge.addCallback((result) => {
|
|
216
|
+
const cpus = os.cpus();
|
|
217
|
+
const average_frequency = os.cpus().map((a) => a.speed * SI_MEGA).reduce((partialSum, a) => partialSum + a, 0) / cpus.length
|
|
218
|
+
result.observe(average_frequency)
|
|
219
|
+
})
|
|
220
|
+
|
|
221
|
+
const cpuCountGauge = meter.createObservableGauge(METRIC_SYSTEM_CPU_LOGICAL_COUNT, {
|
|
222
|
+
"description": "The number of CPUs reported by the instance the JS federation gateway is running on"
|
|
223
|
+
})
|
|
224
|
+
cpuCountGauge.addCallback((result) => {
|
|
225
|
+
result.observe(cpuCountSync(), {
|
|
226
|
+
[ATTR_HOST_ARCH]: hostArch,
|
|
227
|
+
})
|
|
228
|
+
})
|
|
229
|
+
|
|
230
|
+
const totalMemoryGauge = meter.createObservableGauge(METRIC_SYSTEM_MEMORY_LIMIT, {
|
|
231
|
+
"description": "The amount of memory reported by the instance the JS federation gateway is running on",
|
|
232
|
+
"unit": "bytes"
|
|
233
|
+
})
|
|
234
|
+
totalMemoryGauge.addCallback((result) => {
|
|
235
|
+
result.observe(os.totalmem(), {
|
|
236
|
+
[ATTR_HOST_ARCH]: hostArch,
|
|
237
|
+
})
|
|
238
|
+
})
|
|
239
|
+
|
|
240
|
+
return meterProvider
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export function createDataCollectionExporter(): MeterProvider {
|
|
244
|
+
return createDataCollectionMeterProvider(new OTLPMetricExporter({ url: APOLLO_OTEL_ENDPOINT }));
|
|
245
|
+
}
|