@opencensus/instrumentation-http2
Advanced tools
Comparing version 0.0.9 to 0.0.10
@@ -22,3 +22,2 @@ "use strict"; | ||
const url = require("url"); | ||
const uuid = require("uuid"); | ||
/** Http2 instrumentation plugin for Opencensus */ | ||
@@ -80,3 +79,3 @@ class Http2Plugin extends instrumentation_http_1.HttpPlugin { | ||
else { | ||
const span = plugin.tracer.startChildSpan(traceOptions.name, traceOptions.kind); | ||
const span = plugin.tracer.startChildSpan({ name: traceOptions.name, kind: traceOptions.kind }); | ||
return (plugin.getMakeHttp2RequestTraceFunction(request, headers, authority, plugin))(span); | ||
@@ -101,8 +100,12 @@ } | ||
request.on('response', (responseHeaders) => { | ||
span.addAttribute(Http2Plugin.ATTRIBUTE_HTTP_STATUS_CODE, `${responseHeaders[':status']}`); | ||
span.setStatus(Http2Plugin.parseResponseStatus(+responseHeaders[':status'])); | ||
const statusCode = responseHeaders[':status'] || 200; | ||
span.addAttribute(Http2Plugin.ATTRIBUTE_HTTP_STATUS_CODE, `${statusCode}`); | ||
span.setStatus(Http2Plugin.parseResponseStatus(+statusCode)); | ||
}); | ||
request.on('end', () => { | ||
const userAgent = headers['user-agent'] || headers['User-Agent'] || null; | ||
span.addAttribute(Http2Plugin.ATTRIBUTE_HTTP_HOST, url.parse(authority).host); | ||
const host = url.parse(authority).host; | ||
if (host) { | ||
span.addAttribute(Http2Plugin.ATTRIBUTE_HTTP_HOST, host); | ||
} | ||
span.addAttribute(Http2Plugin.ATTRIBUTE_HTTP_METHOD, `${headers[':method']}`); | ||
@@ -114,3 +117,3 @@ span.addAttribute(Http2Plugin.ATTRIBUTE_HTTP_PATH, `${headers[':path']}`); | ||
} | ||
span.addMessageEvent(core_1.MessageEventType.SENT, uuid.v4().split('-').join('')); | ||
span.addMessageEvent(core_1.MessageEventType.SENT, 1); | ||
span.end(); | ||
@@ -152,9 +155,14 @@ }); | ||
const traceOptions = { | ||
name: headers[':path'], | ||
name: headers[':path'] || '', | ||
kind: core_1.SpanKind.SERVER, | ||
spanContext: propagation ? propagation.extract(getter) : null | ||
}; | ||
if (propagation) { | ||
const spanContext = propagation.extract(getter); | ||
if (spanContext) { | ||
traceOptions.spanContext = spanContext; | ||
} | ||
} | ||
// Respond is called in a stream event. We wrap it to get the sent | ||
// status code. | ||
let statusCode = null; | ||
let statusCode; | ||
const originalRespond = stream.respond; | ||
@@ -185,3 +193,3 @@ stream.respond = function () { | ||
rootSpan.setStatus(Http2Plugin.parseResponseStatus(statusCode)); | ||
rootSpan.addMessageEvent(core_1.MessageEventType.RECEIVED, uuid.v4().split('-').join('')); | ||
rootSpan.addMessageEvent(core_1.MessageEventType.RECEIVED, 1); | ||
rootSpan.end(); | ||
@@ -188,0 +196,0 @@ return returned; |
{ | ||
"name": "@opencensus/instrumentation-http2", | ||
"version": "0.0.9", | ||
"version": "0.0.10", | ||
"description": "Opencensus http2 automatic instrumentation package.", | ||
@@ -9,3 +9,3 @@ "main": "build/src/index.js", | ||
"scripts": { | ||
"test": "nyc mocha build/test/**/*.js", | ||
"test": "nyc ts-mocha -p ./tsconfig.json test/**/*.ts", | ||
"codecov": "nyc report --reporter=json && codecov -f coverage/*.json", | ||
@@ -17,3 +17,2 @@ "clean": "rimraf build/*", | ||
"prepare": "npm run compile", | ||
"pretest": "npm run compile", | ||
"posttest": "npm run check" | ||
@@ -40,2 +39,13 @@ }, | ||
], | ||
"nyc": { | ||
"extension": [ | ||
".ts", | ||
".tsx" | ||
], | ||
"exclude": [ | ||
"**/*.d.ts", | ||
"build/**/**/*.js" | ||
], | ||
"all": true | ||
}, | ||
"publishConfig": { | ||
@@ -45,25 +55,21 @@ "access": "public" | ||
"devDependencies": { | ||
"@types/end-of-stream": "^1.4.0", | ||
"@types/mocha": "^5.2.5", | ||
"@types/nock": "^9.1.3", | ||
"@types/node": "^10.12.12", | ||
"@types/semver": "^5.5.0", | ||
"@types/semver": "^6.0.0", | ||
"@types/shimmer": "^1.0.1", | ||
"@types/uuid": "^3.4.3", | ||
"codecov": "^3.1.0", | ||
"gts": "^0.9.0", | ||
"mocha": "^5.0.4", | ||
"ncp": "^2.0.0", | ||
"nock": "^10.0.0", | ||
"mocha": "^6.0.0", | ||
"nyc": "^13.0.0", | ||
"rimraf": "^2.6.2", | ||
"ts-node": "^7.0.1", | ||
"ts-mocha": "^6.0.0", | ||
"ts-node": "^8.0.0", | ||
"typescript": "~2.9.0" | ||
}, | ||
"dependencies": { | ||
"@opencensus/core": "^0.0.9", | ||
"@opencensus/instrumentation-http": "^0.0.9", | ||
"semver": "^5.5.0", | ||
"@opencensus/core": "^0.0.10", | ||
"@opencensus/instrumentation-http": "^0.0.10", | ||
"semver": "^6.0.0", | ||
"shimmer": "^1.2.0" | ||
} | ||
} |
26450
12
276
+ Added@opencensus/core@0.0.10(transitive)
+ Added@opencensus/instrumentation-http@0.0.10(transitive)
+ Addedsemver@6.3.1(transitive)
- Removed@opencensus/core@0.0.9(transitive)
- Removed@opencensus/instrumentation-http@0.0.9(transitive)
- Removedend-of-stream@1.4.4(transitive)
- Removedonce@1.4.0(transitive)
- Removedwrappy@1.0.2(transitive)
Updated@opencensus/core@^0.0.10
Updatedsemver@^6.0.0