Skip to content

Latest commit

 

History

History
 
 

instrumentation-remix

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenTelemetry Remix Instrumentation for Node.js

NPM version Apache 2.0 License

This module provides automatic instrumentation for remix.

Installation

npm install --save opentelemetry-instrumentation-remix

Supported Versions

  • ^1.1.0

Cloudflare Worker Warning

This instrumentation does NOT support Cloudflare Workers. For more details follow opentelemetry-js issue #1214.

Usage

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()
  ]
});

Configuration

Name Type Default Value Description
actionFormDataAttributes Record<string, boolean | string> { _action: "actionType" } Mapping of FormData field to span attribute names.

Instrumentation

requestHandler

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]

loader

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]

action

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]

License

Apache 2.0 - See LICENSE for more information.