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

Commit 84ad67e

Browse files
eduardoemerykjin
authored andcommitted
refactor: stackdriver tsconfig - use gts (#28)
refactor: stackdriver tsconfig - use gts
1 parent e89c193 commit 84ad67e

File tree

4 files changed

+31
-15
lines changed

4 files changed

+31
-15
lines changed

packages/opencensus-exporter-stackdriver/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
},
4040
"devDependencies": {
4141
"@types/mocha": "^2.2.48",
42+
"@types/nock": "^9.1.3",
4243
"@types/node": "^9.4.7",
4344
"gts": "^0.5.1",
4445
"mocha": "^5.0.4",

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

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,20 @@ import {google} from 'googleapis';
2121
google.options({headers: {'x-opencensus-outgoing-request': 0x1}});
2222
const cloudTrace = google.cloudtrace('v1');
2323

24+
type TranslatedTrace = {
25+
projectId: string,
26+
traceId: string,
27+
spans: TranslatedSpan[]
28+
};
29+
30+
type TranslatedSpan = {
31+
name: string,
32+
kind: string,
33+
spanId: string,
34+
startTime: Date,
35+
endTime: Date
36+
};
37+
2438
type ExporterBuffer = typeof classes.ExporterBuffer;
2539

2640
/**
@@ -79,15 +93,15 @@ export class StackdriverTraceExporter implements types.Exporter {
7993
for (const root of rootSpans) {
8094
this.failBuffer.push(root.spanContext);
8195
}
82-
return `${err}`;
96+
return err;
8397
});
8498
}
8599

86100
/**
87101
* Translates root span data to Stackdriver's trace format.
88102
* @param root
89103
*/
90-
private translateTrace(root: types.RootSpan) {
104+
private translateTrace(root: types.RootSpan): TranslatedTrace {
91105
const spanList = root.spans.map(span => this.translateSpan(span));
92106
spanList.push(this.translateSpan(root));
93107

@@ -98,7 +112,7 @@ export class StackdriverTraceExporter implements types.Exporter {
98112
* Translates span data to Stackdriver's span format.
99113
* @param span
100114
*/
101-
private translateSpan(span: types.Span) {
115+
private translateSpan(span: types.Span): TranslatedSpan {
102116
return {
103117
name: span.name,
104118
kind: 'SPAN_KIND_UNSPECIFIED',
@@ -114,11 +128,11 @@ export class StackdriverTraceExporter implements types.Exporter {
114128
*/
115129
private sendTrace(traces: TracesWithCredentials) {
116130
return new Promise((resolve, reject) => {
117-
cloudTrace.projects.patchTraces(traces, err => {
131+
cloudTrace.projects.patchTraces(traces, (err: Error) => {
118132
if (err) {
119-
const errorMsg = `sendTrace error: ${err.message}`;
120-
this.logger.error(errorMsg);
121-
reject(errorMsg);
133+
err.message = `sendTrace error: ${err.message}`;
134+
this.logger.error(err.message);
135+
reject(err);
122136
} else {
123137
const successMsg = 'sendTrace sucessfully';
124138
this.logger.debug(successMsg);
@@ -133,7 +147,7 @@ export class StackdriverTraceExporter implements types.Exporter {
133147
* authenticates the client and calls a method to send the traces data.
134148
* @param stackdriverTraces
135149
*/
136-
private authorize(stackdriverTraces) {
150+
private authorize(stackdriverTraces: TranslatedTrace[]) {
137151
return auth.getApplicationDefault()
138152
.then((client) => {
139153
let authClient = client.credential as JWT;

packages/opencensus-exporter-stackdriver/test/test-stackdriver.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ describe('Stackdriver Exporter', function() {
120120
span.end();
121121
rootSpan.end();
122122

123-
return exporter.publish([rootSpan]).then((result: string) => {
124-
assert.ok(result.indexOf('authorize error') >= 0);
123+
return exporter.publish([rootSpan]).then((result) => {
124+
assert.ok(result.message.indexOf('authorize error') >= 0);
125125
assert.strictEqual(
126126
exporter.failBuffer[0].traceId, rootSpan.spanContext.traceId);
127127
});
@@ -150,8 +150,8 @@ describe('Stackdriver Exporter', function() {
150150
span.end();
151151
rootSpan.end();
152152

153-
return failExporter.publish([rootSpan]).then((result: string) => {
154-
assert.ok(result.indexOf('sendTrace error: ') >= 0);
153+
return failExporter.publish([rootSpan]).then((result) => {
154+
assert.ok(result.message.indexOf('sendTrace error: ') >= 0);
155155

156156
assert.strictEqual(
157157
failExporter.failBuffer[0].traceId,
@@ -172,7 +172,7 @@ describe('Stackdriver Exporter', function() {
172172
span.end();
173173
rootSpan.end();
174174

175-
return exporter.publish([rootSpan]).then((result: string) => {
175+
return exporter.publish([rootSpan]).then((result) => {
176176
assert.ok(result.indexOf('sendTrace sucessfully') >= 0);
177177
});
178178
});
@@ -194,8 +194,8 @@ describe('Stackdriver Exporter', function() {
194194
span.end();
195195
rootSpan.end();
196196

197-
return exporter.publish([rootSpan]).then((result: string) => {
198-
assert.ok(result.indexOf('Simulated Network Error') >= 0);
197+
return exporter.publish([rootSpan]).then((result) => {
198+
assert.ok(result.message.indexOf('Simulated Network Error') >= 0);
199199
});
200200
});
201201
});

packages/opencensus-exporter-stackdriver/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"extends": "./node_modules/gts/tsconfig-google.json",
23
"compilerOptions": {
34
"rootDir": ".",
45
"outDir": "build",

0 commit comments

Comments
 (0)