Skip to content

Commit

Permalink
Merged
Browse files Browse the repository at this point in the history
  • Loading branch information
davidwitten committed Jun 29, 2020
2 parents bfe6f14 + 74a9e2c commit 5bf2fab
Show file tree
Hide file tree
Showing 9 changed files with 75 additions and 25 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@
# https://help.github.com/en/articles/about-code-owners
#

* @dyladan @mayurkale22 @rochdev @bg451 @OlivierAlbertini @vmarchaud @markwolff @obecny @mwear @naseemkullah @legendecas
* @dyladan @mayurkale22 @bg451 @OlivierAlbertini @vmarchaud @markwolff @obecny @mwear @naseemkullah @legendecas
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ We have a weekly SIG meeting! See the [community page](https://github.com/open-t

Approvers ([@open-telemetry/js-approvers](https://github.com/orgs/open-telemetry/teams/javascript-approvers)):

- [Roch Devost](https://github.com/rochdev), DataDog
- [Brandon Gonzalez](https://github.com/bg451), LightStep
- [Olivier Albertini](https://github.com/OlivierAlbertini), Ville de Montréal
- [Valentin Marchaud](https://github.com/vmarchaud), Open Source Contributor
Expand Down
4 changes: 2 additions & 2 deletions examples/collector-exporter-node/start.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

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

const address = '127.0.0.1:55678';
const exporter = new CollectorExporter({
const exporter = new CollectorTraceExporter({
serviceName: 'basic-service',
url: address,
});
Expand Down
4 changes: 2 additions & 2 deletions examples/tracer-web/examples/document-load/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing
import { WebTracerProvider } from '@opentelemetry/web';
import { DocumentLoad } from '@opentelemetry/plugin-document-load';
import { ZoneContextManager } from '@opentelemetry/context-zone';
import { CollectorExporter } from '@opentelemetry/exporter-collector';
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';

const provider = new WebTracerProvider({
plugins: [
new DocumentLoad(),
],
});
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(new SimpleSpanProcessor(new CollectorExporter()));
provider.addSpanProcessor(new SimpleSpanProcessor(new CollectorTraceExporter()));

provider.register({
contextManager: new ZoneContextManager(),
Expand Down
4 changes: 2 additions & 2 deletions examples/tracer-web/examples/fetch/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { CollectorExporter } from '@opentelemetry/exporter-collector';
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';
import { WebTracerProvider } from '@opentelemetry/web';
import { FetchPlugin } from '@opentelemetry/plugin-fetch';
import { ZoneContextManager } from '@opentelemetry/context-zone';
Expand All @@ -21,7 +21,7 @@ const provider = new WebTracerProvider({
});

provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(new SimpleSpanProcessor(new CollectorExporter()));
provider.addSpanProcessor(new SimpleSpanProcessor(new CollectorTraceExporter()));
provider.register({
contextManager: new ZoneContextManager(),
propagator: new B3Propagator(),
Expand Down
4 changes: 2 additions & 2 deletions examples/tracer-web/examples/user-interaction/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { WebTracerProvider } from '@opentelemetry/web';
import { XMLHttpRequestPlugin } from '@opentelemetry/plugin-xml-http-request';
import { UserInteractionPlugin } from '@opentelemetry/plugin-user-interaction';
import { ZoneContextManager } from '@opentelemetry/context-zone';
import { CollectorExporter } from '@opentelemetry/exporter-collector';
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';
import { B3Propagator } from '@opentelemetry/core';

const providerWithZone = new WebTracerProvider({
Expand All @@ -19,7 +19,7 @@ const providerWithZone = new WebTracerProvider({
});

providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new CollectorExporter()));
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new CollectorTraceExporter()));

providerWithZone.register({
contextManager: new ZoneContextManager(),
Expand Down
4 changes: 2 additions & 2 deletions examples/tracer-web/examples/xml-http-request/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing
import { WebTracerProvider } from '@opentelemetry/web';
import { XMLHttpRequestPlugin } from '@opentelemetry/plugin-xml-http-request';
import { ZoneContextManager } from '@opentelemetry/context-zone';
import { CollectorExporter } from '@opentelemetry/exporter-collector';
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';
import { B3Propagator } from '@opentelemetry/core';

const providerWithZone = new WebTracerProvider({
Expand All @@ -17,7 +17,7 @@ const providerWithZone = new WebTracerProvider({
});

providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new CollectorExporter()));
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new CollectorTraceExporter()));

providerWithZone.register({
contextManager: new ZoneContextManager(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,13 @@
import { CollectorTraceExporterBase } from '../../CollectorTraceExporterBase';
import { ReadableSpan } from '@opentelemetry/tracing';
import { toCollectorExportTraceServiceRequest } from '../../transform';
import * as collectorTypes from '../../types';
import { CollectorExporterConfigBrowser } from '../../types';
import { sendWithBeacon, sendWithXhr } from './util';
import * as collectorTypes from '../../types';

const DEFAULT_COLLECTOR_URL = 'http://localhost:55678/v1/trace';

/**
* Collector Trace Exporter for Web
* Collector Exporter for Web
*/
export class CollectorTraceExporter extends CollectorTraceExporterBase<
CollectorExporterConfigBrowser
Expand Down Expand Up @@ -69,16 +68,68 @@ export class CollectorTraceExporter extends CollectorTraceExporterBase<
const body = JSON.stringify(exportTraceServiceRequest);

if (this._useXHR) {
sendWithXhr(
body,
this.url,
this._headers,
this.logger,
onSuccess,
onError
);
this._sendSpansWithXhr(body, onSuccess, onError);
} else {
this._sendSpansWithBeacon(body, onSuccess, onError);
}
}

/**
* send spans using browser navigator.sendBeacon
* @param body
* @param onSuccess
* @param onError
*/
private _sendSpansWithBeacon(
body: string,
onSuccess: () => void,
onError: (error: collectorTypes.CollectorExporterError) => void
) {
if (navigator.sendBeacon(this.url, body)) {
this.logger.debug('sendBeacon - can send', body);
onSuccess();
} else {
sendWithBeacon(body, this.url, this.logger, onSuccess, onError);
this.logger.error('sendBeacon - cannot send', body);
onError({});
}
}

/**
* function to send spans using browser XMLHttpRequest
* used when navigator.sendBeacon is not available
* @param body
* @param onSuccess
* @param onError
*/
private _sendSpansWithXhr(
body: string,
onSuccess: () => void,
onError: (error: collectorTypes.CollectorExporterError) => void
) {
const xhr = new XMLHttpRequest();
xhr.open('POST', this.url);
xhr.setRequestHeader('Accept', 'application/json');
xhr.setRequestHeader('Content-Type', 'application/json');
Object.entries(this._headers).forEach(([k, v]) => {
xhr.setRequestHeader(k, v);
});

xhr.send(body);

xhr.onreadystatechange = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status >= 200 && xhr.status <= 299) {
this.logger.debug('xhr success', body);
onSuccess();
} else {
this.logger.error('body', body);
this.logger.error('xhr error', xhr);
onError({
code: xhr.status,
message: xhr.responseText,
});
}
}
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Knowing this if you want to change the submodule to point to a different version
```

3. Find the SHA which you want to update to and copy it (the long one)
the latest sha when this guide was written is `e6c3c4a74d57f870a0d781bada02cb2b2c497d14`
the latest sha when this guide was written is `b54688569186e0b862bf7462a983ccf2c50c0547`

4. Enter a submodule directory from this directory

Expand Down

0 comments on commit 5bf2fab

Please sign in to comment.