Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit 2a13a77

Browse files
authored
Stats/Stackdriver: Add user agent as client header (#320)
* Stats/Stackdriver: Add user agent as client header * fix review comment
1 parent 052c352 commit 2a13a77

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

packages/opencensus-exporter-stackdriver/src/stackdriver-monitoring.ts

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,22 @@
1414
* limitations under the License.
1515
*/
1616

17-
import {logger, Logger, Measurement, Metric, MetricDescriptor as OCMetricDescriptor, MetricProducerManager, Metrics, StatsEventListener, TagKey, TagValue, View} from '@opencensus/core';
17+
import {logger, Logger, Measurement, Metric, MetricDescriptor as OCMetricDescriptor, MetricProducerManager, Metrics, StatsEventListener, TagKey, TagValue, version, View} from '@opencensus/core';
1818
import {auth, JWT} from 'google-auth-library';
1919
import {google} from 'googleapis';
20+
2021
import {createMetricDescriptorData, createTimeSeriesList, getDefaultResource} from './stackdriver-stats-utils';
2122
import {MonitoredResource, StackdriverExporterOptions, TimeSeries} from './types';
2223

23-
google.options({headers: {'x-opencensus-outgoing-request': 0x1}});
24+
const OC_USER_AGENT = {
25+
product: 'opencensus-node',
26+
version
27+
};
28+
const OC_HEADER = {
29+
'x-opencensus-outgoing-request': 0x1
30+
};
31+
32+
google.options({headers: OC_HEADER});
2433
const monitoring = google.monitoring('v3');
2534
const GOOGLEAPIS_SCOPE = 'https://www.googleapis.com/auth/cloud-platform';
2635

@@ -151,10 +160,13 @@ export class StackdriverStatsExporter implements StatsEventListener {
151160
};
152161

153162
return new Promise((resolve, reject) => {
154-
monitoring.projects.timeSeries.create(request, (err: Error) => {
155-
this.logger.debug('sent time series', request.resource.timeSeries);
156-
err ? reject(err) : resolve();
157-
});
163+
monitoring.projects.timeSeries.create(
164+
request, {headers: OC_HEADER, userAgentDirectives: [OC_USER_AGENT]},
165+
(err?: Error) => {
166+
this.logger.debug(
167+
'sent time series', request.resource.timeSeries);
168+
err ? reject(err) : resolve();
169+
});
158170
});
159171
});
160172
}
@@ -173,10 +185,12 @@ export class StackdriverStatsExporter implements StatsEventListener {
173185
};
174186

175187
return new Promise((resolve, reject) => {
176-
monitoring.projects.metricDescriptors.create(request, (err: Error) => {
177-
this.logger.debug('sent metric descriptor', request.resource);
178-
err ? reject(err) : resolve();
179-
});
188+
monitoring.projects.metricDescriptors.create(
189+
request, {headers: OC_HEADER, userAgentDirectives: [OC_USER_AGENT]},
190+
(err?: Error) => {
191+
this.logger.debug('sent metric descriptor', request.resource);
192+
err ? reject(err) : resolve();
193+
});
180194
});
181195
});
182196
}

0 commit comments

Comments
 (0)