This module provides automatic instrumentation for remix
.
npm install --save opentelemetry-instrumentation-remix
^1.1.0
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. |
Emitted for every request into remix server.
Operation |
---|
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.status_code |
Response status code | 200 |
error |
Added if error detected | true |
exception.message |
Error message, if applicable | "Kaboom!" |
exception.stacktrace |
Error stacktrace, if applicable | [stacktrace] |
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 | true |
exception.message |
Error message, if applicable | "Kaboom!" |
exception.stacktrace |
Error stacktrace, if applicable | [stacktrace] |
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 | true |
exception.message |
Error message, if applicable | "Kaboom!" |
exception.stacktrace |
Error stacktrace, if applicable | [stacktrace] |
Apache 2.0 - See LICENSE for more information.