@opentelemetry/exporter-collector
Advanced tools
Comparing version 0.15.0 to 0.16.0
@@ -13,4 +13,3 @@ /// <reference types="node" /> | ||
headers: Record<string, string>; | ||
keepAlive: boolean; | ||
httpAgentOptions: http.AgentOptions | https.AgentOptions; | ||
agent: http.Agent | https.Agent | undefined; | ||
constructor(config?: CollectorExporterNodeConfigBase); | ||
@@ -17,0 +16,0 @@ onInit(_config: CollectorExporterNodeConfigBase): void; |
@@ -29,4 +29,2 @@ "use strict"; | ||
this.DEFAULT_HEADERS = {}; | ||
this.keepAlive = true; | ||
this.httpAgentOptions = {}; | ||
if (config.metadata) { | ||
@@ -37,11 +35,3 @@ this.logger.warn('Metadata cannot be set when using http'); | ||
util_1.parseHeaders(config.headers, this.logger) || this.DEFAULT_HEADERS; | ||
if (typeof config.keepAlive === 'boolean') { | ||
this.keepAlive = config.keepAlive; | ||
} | ||
if (config.httpAgentOptions) { | ||
if (!this.keepAlive) { | ||
this.logger.warn('httpAgentOptions is used only when keepAlive is true'); | ||
} | ||
this.httpAgentOptions = Object.assign({}, config.httpAgentOptions); | ||
} | ||
this.agent = util_2.createHttpAgent(this.logger, config); | ||
} | ||
@@ -48,0 +38,0 @@ onInit(_config) { |
/// <reference types="node" /> | ||
import * as http from 'http'; | ||
import * as https from 'https'; | ||
import * as collectorTypes from '../../types'; | ||
import { CollectorExporterNodeBase } from './CollectorExporterNodeBase'; | ||
import { CollectorExporterNodeConfigBase } from '.'; | ||
import { Logger } from '@opentelemetry/api'; | ||
/** | ||
@@ -13,2 +17,3 @@ * Sends data using http | ||
export declare function sendWithHttp<ExportItem, ServiceRequest>(collector: CollectorExporterNodeBase<ExportItem, ServiceRequest>, data: string | Buffer, contentType: string, onSuccess: () => void, onError: (error: collectorTypes.CollectorExporterError) => void): void; | ||
export declare function createHttpAgent(logger: Logger, config: CollectorExporterNodeConfigBase): http.Agent | https.Agent | undefined; | ||
//# sourceMappingURL=util.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.sendWithHttp = void 0; | ||
exports.createHttpAgent = exports.sendWithHttp = void 0; | ||
/* | ||
@@ -39,8 +39,5 @@ * Copyright The OpenTelemetry Authors | ||
headers: Object.assign({ 'Content-Length': Buffer.byteLength(data), 'Content-Type': contentType }, collector.headers), | ||
agent: collector.agent, | ||
}; | ||
const request = parsedUrl.protocol === 'http:' ? http.request : https.request; | ||
const Agent = parsedUrl.protocol === 'http:' ? http.Agent : https.Agent; | ||
if (collector.keepAlive) { | ||
options.agent = new Agent(Object.assign(Object.assign({}, collector.httpAgentOptions), { keepAlive: true })); | ||
} | ||
const req = request(options, (res) => { | ||
@@ -67,2 +64,20 @@ let data = ''; | ||
exports.sendWithHttp = sendWithHttp; | ||
function createHttpAgent(logger, config) { | ||
if (config.httpAgentOptions && config.keepAlive === false) { | ||
logger.warn('httpAgentOptions is used only when keepAlive is true'); | ||
return undefined; | ||
} | ||
if (config.keepAlive === false || !config.url) | ||
return undefined; | ||
try { | ||
const parsedUrl = new url.URL(config.url); | ||
const Agent = parsedUrl.protocol === 'http:' ? http.Agent : https.Agent; | ||
return new Agent(Object.assign({ keepAlive: true }, config.httpAgentOptions)); | ||
} | ||
catch (err) { | ||
logger.error(`collector exporter failed to create http agent. err: ${err.message}`); | ||
return undefined; | ||
} | ||
} | ||
exports.createHttpAgent = createHttpAgent; | ||
//# sourceMappingURL=util.js.map |
@@ -1,2 +0,2 @@ | ||
import { Attributes, SpanKind, Status, StatusCode, TimedEvent, TraceState } from '@opentelemetry/api'; | ||
import { Attributes, SpanKind, Status, TimedEvent, TraceState } from '@opentelemetry/api'; | ||
import * as core from '@opentelemetry/core'; | ||
@@ -45,7 +45,2 @@ import { Resource } from '@opentelemetry/resources'; | ||
/** | ||
* Converts StatusCode | ||
* @param code | ||
*/ | ||
export declare function toCollectorCode(code: StatusCode): opentelemetryProto.trace.v1.StatusCode; | ||
/** | ||
* Converts status | ||
@@ -52,0 +47,0 @@ * @param status |
@@ -18,4 +18,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.groupSpansByResourceAndLibrary = exports.toCollectorExportTraceServiceRequest = exports.toCollectorTraceState = exports.toCollectorKind = exports.toCollectorResource = exports.toCollectorStatus = exports.toCollectorCode = exports.toCollectorSpan = exports.toCollectorEvents = exports.toCollectorAnyValue = exports.toCollectorAttributeKeyValue = exports.toCollectorKeyValueList = exports.toCollectorArrayValue = exports.toCollectorAttributes = void 0; | ||
const api_1 = require("@opentelemetry/api"); | ||
exports.groupSpansByResourceAndLibrary = exports.toCollectorExportTraceServiceRequest = exports.toCollectorTraceState = exports.toCollectorKind = exports.toCollectorResource = exports.toCollectorStatus = exports.toCollectorSpan = exports.toCollectorEvents = exports.toCollectorAnyValue = exports.toCollectorAttributeKeyValue = exports.toCollectorKeyValueList = exports.toCollectorArrayValue = exports.toCollectorAttributes = void 0; | ||
const core = require("@opentelemetry/core"); | ||
@@ -165,17 +164,2 @@ const types_1 = require("./types"); | ||
/** | ||
* Converts StatusCode | ||
* @param code | ||
*/ | ||
function toCollectorCode(code) { | ||
switch (code) { | ||
case api_1.StatusCode.OK: | ||
return types_1.opentelemetryProto.trace.v1.StatusCode.OK; | ||
case api_1.StatusCode.UNSET: | ||
return types_1.opentelemetryProto.trace.v1.StatusCode.UNSET; | ||
default: | ||
return types_1.opentelemetryProto.trace.v1.StatusCode.ERROR; | ||
} | ||
} | ||
exports.toCollectorCode = toCollectorCode; | ||
/** | ||
* Converts status | ||
@@ -186,3 +170,3 @@ * @param status | ||
const spanStatus = { | ||
code: toCollectorCode(status.code), | ||
code: status.code, | ||
}; | ||
@@ -189,0 +173,0 @@ if (typeof status.message !== 'undefined') { |
@@ -1,2 +0,2 @@ | ||
import { SpanKind, Logger, Attributes } from '@opentelemetry/api'; | ||
import { Attributes, Logger, SpanKind, StatusCode } from '@opentelemetry/api'; | ||
export declare namespace opentelemetryProto { | ||
@@ -158,21 +158,2 @@ namespace collector { | ||
} | ||
/** | ||
* An enumeration of status codes. | ||
* https://github.com/open-telemetry/opentelemetry-proto/blob/master/opentelemetry/proto/trace/v1/trace.proto#L304 | ||
*/ | ||
enum StatusCode { | ||
/** | ||
* The default status. | ||
*/ | ||
UNSET = 0, | ||
/** | ||
* The operation has been validated by an Application developer or | ||
* Operator to have completed successfully. | ||
*/ | ||
OK = 1, | ||
/** | ||
* The operation contains an error. | ||
*/ | ||
ERROR = 2 | ||
} | ||
interface TraceConfig { | ||
@@ -179,0 +160,0 @@ constantSampler?: ConstantSampler | null; |
@@ -120,22 +120,2 @@ "use strict"; | ||
})(Span = v1.Span || (v1.Span = {})); | ||
/** | ||
* An enumeration of status codes. | ||
* https://github.com/open-telemetry/opentelemetry-proto/blob/master/opentelemetry/proto/trace/v1/trace.proto#L304 | ||
*/ | ||
let StatusCode; | ||
(function (StatusCode) { | ||
/** | ||
* The default status. | ||
*/ | ||
StatusCode[StatusCode["UNSET"] = 0] = "UNSET"; | ||
/** | ||
* The operation has been validated by an Application developer or | ||
* Operator to have completed successfully. | ||
*/ | ||
StatusCode[StatusCode["OK"] = 1] = "OK"; | ||
/** | ||
* The operation contains an error. | ||
*/ | ||
StatusCode[StatusCode["ERROR"] = 2] = "ERROR"; | ||
})(StatusCode = v1.StatusCode || (v1.StatusCode = {})); | ||
})(v1 = trace.v1 || (trace.v1 = {})); | ||
@@ -142,0 +122,0 @@ })(trace = opentelemetryProto.trace || (opentelemetryProto.trace = {})); |
@@ -1,2 +0,2 @@ | ||
export declare const VERSION = "0.15.0"; | ||
export declare const VERSION = "0.16.0"; | ||
//# sourceMappingURL=version.d.ts.map |
@@ -20,3 +20,3 @@ "use strict"; | ||
// this is autogenerated file, see scripts/version-update.js | ||
exports.VERSION = '0.15.0'; | ||
exports.VERSION = '0.16.0'; | ||
//# sourceMappingURL=version.js.map |
{ | ||
"name": "@opentelemetry/exporter-collector", | ||
"version": "0.15.0", | ||
"version": "0.16.0", | ||
"description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector", | ||
@@ -80,10 +80,10 @@ "main": "build/src/index.js", | ||
"dependencies": { | ||
"@opentelemetry/api": "^0.15.0", | ||
"@opentelemetry/api-metrics": "^0.15.0", | ||
"@opentelemetry/core": "^0.15.0", | ||
"@opentelemetry/metrics": "^0.15.0", | ||
"@opentelemetry/resources": "^0.15.0", | ||
"@opentelemetry/tracing": "^0.15.0" | ||
"@opentelemetry/api": "^0.16.0", | ||
"@opentelemetry/api-metrics": "^0.16.0", | ||
"@opentelemetry/core": "^0.16.0", | ||
"@opentelemetry/metrics": "^0.16.0", | ||
"@opentelemetry/resources": "^0.16.0", | ||
"@opentelemetry/tracing": "^0.16.0" | ||
}, | ||
"gitHead": "960b868f5b7686eabbf49190071b8463551e5d8f" | ||
"gitHead": "e68863f8e63854b08ad13fb54677294ac6d6b681" | ||
} |
# OpenTelemetry Collector Exporter for web and node | ||
[![Gitter chat][gitter-image]][gitter-url] | ||
[![NPM Published Version][npm-img]][npm-url] | ||
@@ -141,3 +140,3 @@ [![dependencies][dependencies-image]][dependencies-url] | ||
- For more about OpenTelemetry JavaScript: <https://github.com/open-telemetry/opentelemetry-js> | ||
- For help or feedback on this project, join us on [gitter][gitter-url] | ||
- For help or feedback on this project, join us in [GitHub Discussions][discussions-url] | ||
@@ -148,5 +147,4 @@ ## License | ||
[gitter-image]: https://badges.gitter.im/open-telemetry/opentelemetry-js.svg | ||
[gitter-url]: https://gitter.im/open-telemetry/opentelemetry-node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge | ||
[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/master/LICENSE | ||
[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions | ||
[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/LICENSE | ||
[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat | ||
@@ -153,0 +151,0 @@ [dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=packages/opentelemetry-exporter-collector |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
127933
1955
158
+ Added@opentelemetry/api@0.16.0(transitive)
+ Added@opentelemetry/api-metrics@0.16.0(transitive)
+ Added@opentelemetry/context-base@0.16.0(transitive)
+ Added@opentelemetry/core@0.16.0(transitive)
+ Added@opentelemetry/metrics@0.16.0(transitive)
+ Added@opentelemetry/resources@0.16.0(transitive)
+ Added@opentelemetry/semantic-conventions@0.16.0(transitive)
+ Added@opentelemetry/tracing@0.16.0(transitive)
- Removed@opentelemetry/api@0.15.0(transitive)
- Removed@opentelemetry/api-metrics@0.15.0(transitive)
- Removed@opentelemetry/context-base@0.15.0(transitive)
- Removed@opentelemetry/core@0.15.0(transitive)
- Removed@opentelemetry/metrics@0.15.0(transitive)
- Removed@opentelemetry/resources@0.15.0(transitive)
- Removed@opentelemetry/semantic-conventions@0.15.0(transitive)
- Removed@opentelemetry/tracing@0.15.0(transitive)
Updated@opentelemetry/api@^0.16.0
Updated@opentelemetry/core@^0.16.0