OpenTelemetry Remix Instrumentation for Node.js

This module provides automatic instrumentation for remix
.
npm install --save opentelemetry-instrumentation-remix
Cloudflare Worker Warning
This instrumentation does NOT support Cloudflare Workers. For more details follow opentelemetry-js issue #1214.
For further automatic instrumentation instruction see the @opentelemetry/instrumentation package.
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const { RemixInstrumentation } = require('opentelemetry-instrumentation-remix');
const tracerProvider = new NodeTracerProvider();
tracerProvider.register();
registerInstrumentations({
instrumentations: [
new RemixInstrumentation()
]
});
Name |
Type |
Default Value |
Description |
actionFormDataAttributes |
Record<string, boolean | string> |
{ _action: "actionType" } |
Mapping of FormData field to span attribute names. |
legacyErrorAttributes |
boolean |
false |
Whether to emit errors in the form of span attributes, as well as in span exception events. |
Emitted for every request into remix server.
Operation |
Example |
Notes |
remix.request [routePath] |
remix.request /jokes/:jokeId |
If the request does not match a route, the name of the span will be remix.request
|
Attribute |
Description |
Example Value |
code.function |
Name of executed function |
"requestHandler" |
http.method |
HTTP method |
"POST" |
http.url |
HTTP URL |
"https://remix.jokes/jokes/new?_data=routes%2Fjokes%2Fnew" |
http.route |
HTTP route path, added if the request matches a route |
"/jokes/:jokeId" |
http.status_code |
Response status code |
200 |
match.route.id |
Remix matched route ID, added if the request matches a route |
"routes/jokes/$jokeId" |
error |
Added if error detected and if legacyErrorAttributes enabled |
true |
exception.message |
Error message, if legacyErrorAttributes enabled and if applicable |
"Kaboom!" |
exception.stacktrace |
Error stacktrace, if legacyErrorAttributes enabled and if applicable |
[stacktrace] |
Status Code |
Description |
SpanStatusCode.ERROR |
When an exception occurs during evaluation |
Event |
Attributes |
Description |
Exception |
exception.message |
Error message, if applicable |
|
exception.stacktrace |
Error stacktrace, if applicable |
Emitted for every loader
called.
Operation |
Example |
LOADER [routeId] |
LOADER routes/jokes/$jokeId |
Attribute |
Description |
Example Value |
code.function |
Name of executed function |
"loader" |
http.method |
HTTP method |
"POST" |
http.url |
HTTP URL |
"https://remix.jokes/jokes/new?_data=routes%2Fjokes%2Fnew" |
http.status_code |
Response status code |
200 |
match.route.id |
Remix matched route id |
"routes/jokes/$jokeId" |
match.params.[paramName] |
Value for each remix matched param |
[match.params.jokeId]: 23fc7bcf-2d35-4c70-877f-338eca1fd3ef" |
error |
Added if error detected and if legacyErrorAttributes enabled |
true |
exception.message |
Error message, if legacyErrorAttributes enabled and if applicable |
"Kaboom!" |
exception.stacktrace |
Error stacktrace, if legacyErrorAttributes enabled and if applicable |
[stacktrace] |
Status Code |
Description |
SpanStatusCode.ERROR |
When an exception occurs during evaluation |
Event |
Attributes |
Description |
Exception |
exception.message |
Error message, if applicable |
|
exception.stacktrace |
Error stacktrace, if applicable |
Emitted for every action
called.
Operation |
Example |
ACTION [routeId] |
ACTION routes/jokes/new |
Attribute |
Description |
Example Value |
code.function |
Name of executed function |
"action" |
http.method |
HTTP method |
"POST" |
http.url |
HTTP URL |
"https://remix.jokes/jokes/new?_data=routes%2Fjokes%2Fnew" |
http.status_code |
Response status code |
200 |
match.route.id |
Remix matched route id |
"routes/jokes/$jokeId" |
match.params.[paramName] |
Value for each remix matched param |
[match.params.jokeId]: "23fc7bcf-2d35-4c70-877f-338eca1fd3ef" |
formData.[fieldName] |
Value for each configured FormData field |
[formData.actionType]: "createJoke" |
error |
Added if error detected and if legacyErrorAttributes enabled |
true |
exception.message |
Error message, if legacyErrorAttributes enabled and if applicable |
"Kaboom!" |
exception.stacktrace |
Error stacktrace, if legacyErrorAttributes enabled and if applicable |
[stacktrace] |
Status Code |
Description |
SpanStatusCode.ERROR |
When an exception occurs during evaluation |
Event |
Attributes |
Description |
Exception |
exception.message |
Error message, if applicable |
|
exception.stacktrace |
Error stacktrace, if applicable |
Apache 2.0 - See LICENSE for more information.