New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@opentelemetry/exporter-collector

Package Overview
Dependencies
Maintainers
4
Versions
167
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@opentelemetry/exporter-collector - npm Package Compare versions

Comparing version 0.13.0 to 0.14.0

build/src/platform/node/types.d.ts

1

build/src/CollectorExporterBase.d.ts

@@ -13,2 +13,3 @@ import { Attributes, Logger } from '@opentelemetry/api';

readonly attributes?: Attributes;
protected _concurrencyLimit: number;
protected _isShutdown: boolean;

@@ -15,0 +16,0 @@ private _shuttingDownPromise;

@@ -39,2 +39,6 @@ "use strict";

this.shutdown = this.shutdown.bind(this);
this._concurrencyLimit =
typeof config.concurrencyLimit === 'number'
? config.concurrencyLimit
: Infinity;
// platform dependent

@@ -56,2 +60,9 @@ this.onInit(config);

}
if (this._sendingPromises.length >= this._concurrencyLimit) {
resultCallback({
code: core_1.ExportResultCode.FAILED,
error: new Error('Concurrent export limit reached'),
});
return;
}
this._export(items)

@@ -58,0 +69,0 @@ .then(() => {

13

build/src/platform/node/CollectorExporterNodeBase.d.ts

@@ -0,3 +1,6 @@

/// <reference types="node" />
import type * as http from 'http';
import type * as https from 'https';
import { CollectorExporterBase } from '../../CollectorExporterBase';
import { CollectorExporterConfigBase } from '../../types';
import { CollectorExporterNodeConfigBase } from './types';
import * as collectorTypes from '../../types';

@@ -7,7 +10,9 @@ /**

*/
export declare abstract class CollectorExporterNodeBase<ExportItem, ServiceRequest> extends CollectorExporterBase<CollectorExporterConfigBase, ExportItem, ServiceRequest> {
export declare abstract class CollectorExporterNodeBase<ExportItem, ServiceRequest> extends CollectorExporterBase<CollectorExporterNodeConfigBase, ExportItem, ServiceRequest> {
DEFAULT_HEADERS: Record<string, string>;
headers: Record<string, string>;
constructor(config?: CollectorExporterConfigBase);
onInit(_config: CollectorExporterConfigBase): void;
keepAlive: boolean;
httpAgentOptions: http.AgentOptions | https.AgentOptions;
constructor(config?: CollectorExporterNodeConfigBase);
onInit(_config: CollectorExporterNodeConfigBase): void;
send(objects: ExportItem[], onSuccess: () => void, onError: (error: collectorTypes.CollectorExporterError) => void): void;

@@ -14,0 +19,0 @@ onShutdown(): void;

@@ -29,2 +29,4 @@ "use strict";

this.DEFAULT_HEADERS = {};
this.keepAlive = true;
this.httpAgentOptions = {};
if (config.metadata) {

@@ -35,2 +37,11 @@ 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);
}
}

@@ -37,0 +48,0 @@ onInit(_config) {

import { MetricRecord, MetricExporter } from '@opentelemetry/metrics';
import { CollectorExporterConfigBase } from '../../types';
import * as collectorTypes from '../../types';
import { CollectorExporterNodeConfigBase } from './types';
import { CollectorExporterNodeBase } from './CollectorExporterNodeBase';

@@ -11,5 +11,5 @@ /**

convert(metrics: MetricRecord[]): collectorTypes.opentelemetryProto.collector.metrics.v1.ExportMetricsServiceRequest;
getDefaultUrl(config: CollectorExporterConfigBase): string;
getDefaultServiceName(config: CollectorExporterConfigBase): string;
getDefaultUrl(config: CollectorExporterNodeConfigBase): string;
getDefaultServiceName(config: CollectorExporterNodeConfigBase): string;
}
//# sourceMappingURL=CollectorMetricExporter.d.ts.map
import { ReadableSpan, SpanExporter } from '@opentelemetry/tracing';
import { CollectorExporterConfigBase } from '../../types';
import { CollectorExporterNodeBase } from './CollectorExporterNodeBase';
import { CollectorExporterNodeConfigBase } from './types';
import * as collectorTypes from '../../types';

@@ -10,5 +10,5 @@ /**

convert(spans: ReadableSpan[]): collectorTypes.opentelemetryProto.collector.trace.v1.ExportTraceServiceRequest;
getDefaultUrl(config: CollectorExporterConfigBase): string;
getDefaultServiceName(config: CollectorExporterConfigBase): string;
getDefaultUrl(config: CollectorExporterNodeConfigBase): string;
getDefaultServiceName(config: CollectorExporterNodeConfigBase): string;
}
//# sourceMappingURL=CollectorTraceExporter.d.ts.map

@@ -5,2 +5,3 @@ export * from './CollectorTraceExporter';

export * from './util';
export * from './types';
//# sourceMappingURL=index.d.ts.map

@@ -32,2 +32,3 @@ "use strict";

__exportStar(require("./util"), exports);
__exportStar(require("./types"), exports);
//# sourceMappingURL=index.js.map

@@ -41,2 +41,6 @@ "use strict";

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) => {

@@ -43,0 +47,0 @@ let data = '';

@@ -1,2 +0,2 @@

import { Attributes, SpanKind, TimedEvent, TraceState } from '@opentelemetry/api';
import { Attributes, SpanKind, Status, StatusCode, TimedEvent, TraceState } from '@opentelemetry/api';
import * as core from '@opentelemetry/core';

@@ -45,2 +45,12 @@ import { Resource } from '@opentelemetry/resources';

/**
* Converts StatusCode
* @param code
*/
export declare function toCollectorCode(code: StatusCode): opentelemetryProto.trace.v1.StatusCode;
/**
* Converts status
* @param status
*/
export declare function toCollectorStatus(status: Status): opentelemetryProto.trace.v1.Status;
/**
* Converts resource

@@ -47,0 +57,0 @@ * @param resource

@@ -18,3 +18,4 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.groupSpansByResourceAndLibrary = exports.toCollectorExportTraceServiceRequest = exports.toCollectorTraceState = exports.toCollectorKind = exports.toCollectorResource = exports.toCollectorSpan = exports.toCollectorEvents = exports.toCollectorAnyValue = exports.toCollectorAttributeKeyValue = exports.toCollectorKeyValueList = exports.toCollectorArrayValue = exports.toCollectorAttributes = void 0;
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");
const core = require("@opentelemetry/core");

@@ -157,3 +158,3 @@ const types_1 = require("./types");

droppedEventsCount: 0,
status: span.status,
status: toCollectorStatus(span.status),
links: toCollectorLinks(span, useHex),

@@ -165,2 +166,31 @@ droppedLinksCount: 0,

/**
* 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
* @param status
*/
function toCollectorStatus(status) {
const spanStatus = {
code: toCollectorCode(status.code),
};
if (typeof status.message !== 'undefined') {
spanStatus.message = status.message;
}
return spanStatus;
}
exports.toCollectorStatus = toCollectorStatus;
/**
* Converts resource

@@ -167,0 +197,0 @@ * @param resource

import { SpanKind, Logger, Attributes } from '@opentelemetry/api';
import * as api from '@opentelemetry/api';
export declare namespace opentelemetryProto {

@@ -153,3 +152,27 @@ namespace collector {

}
type Status = api.Status;
interface Status {
/** The status code of this message. */
code: StatusCode;
/** A developer-facing error message. */
message?: string;
}
/**
* 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 {

@@ -228,2 +251,3 @@ constantSampler?: ConstantSampler | null;

url?: string;
concurrencyLimit?: number;
}

@@ -230,0 +254,0 @@ /**

@@ -120,2 +120,22 @@ "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 = {}));

@@ -122,0 +142,0 @@ })(trace = opentelemetryProto.trace || (opentelemetryProto.trace = {}));

@@ -1,2 +0,2 @@

export declare const VERSION = "0.13.0";
export declare const VERSION = "0.14.0";
//# sourceMappingURL=version.d.ts.map

@@ -20,3 +20,3 @@ "use strict";

// this is autogenerated file, see scripts/version-update.js
exports.VERSION = '0.13.0';
exports.VERSION = '0.14.0';
//# sourceMappingURL=version.js.map
{
"name": "@opentelemetry/exporter-collector",
"version": "0.13.0",
"version": "0.14.0",
"description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector",

@@ -53,5 +53,5 @@ "main": "build/src/index.js",

"devDependencies": {
"@babel/core": "7.12.9",
"@types/mocha": "8.0.4",
"@types/node": "14.14.10",
"@babel/core": "7.12.10",
"@types/mocha": "8.2.0",
"@types/node": "14.14.12",
"@types/sinon": "9.0.9",

@@ -73,20 +73,20 @@ "@types/webpack-env": "1.16.0",

"rimraf": "3.0.2",
"sinon": "9.2.1",
"ts-loader": "8.0.11",
"sinon": "9.2.2",
"ts-loader": "8.0.12",
"ts-mocha": "8.0.0",
"ts-node": "9.0.0",
"ts-node": "9.1.1",
"typescript": "3.9.7",
"webpack": "4.44.2",
"webpack-cli": "4.2.0",
"webpack-merge": "5.4.0"
"webpack-merge": "5.6.1"
},
"dependencies": {
"@opentelemetry/api": "^0.13.0",
"@opentelemetry/core": "^0.13.0",
"@opentelemetry/metrics": "^0.13.0",
"@opentelemetry/resources": "^0.13.0",
"@opentelemetry/tracing": "^0.13.0",
"@opentelemetry/api": "^0.14.0",
"@opentelemetry/core": "^0.14.0",
"@opentelemetry/metrics": "^0.14.0",
"@opentelemetry/resources": "^0.14.0",
"@opentelemetry/tracing": "^0.14.0",
"axios": "^0.21.0"
},
"gitHead": "86cbd6798f9318c5920f9d9055f289a1c3f26500"
"gitHead": "27a8d4530c56257c191468b073669909bf8892a1"
}

@@ -9,3 +9,3 @@ # OpenTelemetry Collector Exporter for web and node

This module provides exporter for web and node to be used with [opentelemetry-collector][opentelemetry-collector-url] - last tested with version **0.12.0**.
This module provides exporter for web and node to be used with [opentelemetry-collector][opentelemetry-collector-url] - last tested with version **0.16.0**.

@@ -23,3 +23,3 @@ ## Installation

```js
import { SimpleSpanProcessor } from '@opentelemetry/tracing';
import { BatchSpanProcessor } from '@opentelemetry/tracing';
import { WebTracerProvider } from '@opentelemetry/web';

@@ -30,3 +30,4 @@ import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';

url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:55681/v1/trace
headers: {}, //an optional object containing custom headers to be sent with each request
headers: {}, // an optional object containing custom headers to be sent with each request
concurrencyLimit: 10, // an optional limit on pending requests
};

@@ -36,3 +37,8 @@

const exporter = new CollectorTraceExporter(collectorOptions);
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
provider.addSpanProcessor(new BatchSpanProcessor(exporter, {
// send spans as soon as we have this many
bufferSize: 10,
// send spans if we have buffered spans older than this
bufferTimeout: 500,
}));

@@ -52,3 +58,4 @@ provider.register();

url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:55681/v1/metrics
headers: {}, //an optional object containing custom headers to be sent with each request
headers: {}, // an optional object containing custom headers to be sent with each request
concurrencyLimit: 1, // an optional limit on pending requests
};

@@ -72,3 +79,3 @@ const exporter = new CollectorMetricExporter(collectorOptions);

```js
const { BasicTracerProvider, SimpleSpanProcessor } = require('@opentelemetry/tracing');
const { BasicTracerProvider, BatchSpanProcessor } = require('@opentelemetry/tracing');
const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector');

@@ -81,3 +88,4 @@

foo: 'bar'
}, //an optional object containing custom headers to be sent with each request will only work with http
}, // an optional object containing custom headers to be sent with each request will only work with http
concurrencyLimit: 10, // an optional limit on pending requests
};

@@ -87,3 +95,8 @@

const exporter = new CollectorTraceExporter(collectorOptions);
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
provider.addSpanProcessor(new BatchSpanProcessor(exporter, {
// send spans as soon as we have this many
bufferSize: 1000,
// send spans if we have buffered spans older than this
bufferTimeout: 30000,
}));

@@ -102,2 +115,3 @@ provider.register();

url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:55681/v1/metrics
concurrencyLimit: 1, // an optional limit on pending requests
};

@@ -104,0 +118,0 @@ const exporter = new CollectorMetricExporter(collectorOptions);

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

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc