React_native Attributes

11 attributes in this category.11 stable

11 attributes

Stable Attributes

react_native.architecture

stringScrub: ManualVisibility: PublicOTel: False

The React Native architecture the app is running on. new for the New Architecture, where native modules are resolved as TurboModules through TurboModuleRegistry, legacy for the Old Architecture bridge.

Examplesnewlegacy
Changelog
v0.24.0#564Added react_native.architecture attribute
Raw JSON
{
  "key": "react_native.architecture",
  "brief": "The React Native architecture the app is running on. `new` for the New Architecture, where native modules are resolved as TurboModules through `TurboModuleRegistry`, `legacy` for the Old Architecture bridge.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "new",
    "legacy"
  ],
  "alias": [
    "turbo_module.arch"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.architecture attribute"
    }
  ]
}

react_native.module.call.count

integerScrub: ManualVisibility: PublicOTel: False

The number of native module calls observed during the lifetime of the span.

Changelog
v0.24.0#564Added react_native.module.call.count attribute
Raw JSON
{
  "key": "react_native.module.call.count",
  "brief": "The number of native module calls observed during the lifetime of the span.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    42
  ],
  "alias": [
    "turbo_module.total_call_count",
    "turbo_modules.total_call_count"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.call.count attribute"
    }
  ]
}

react_native.module.call.distinct_count

integerScrub: ManualVisibility: PublicOTel: False

The number of distinct native module and method pairs called during the lifetime of the span. Useful as a cardinality signal when the per-method breakdown has been truncated.

Changelog
v0.24.0#564Added react_native.module.call.distinct_count attribute
Raw JSON
{
  "key": "react_native.module.call.distinct_count",
  "brief": "The number of distinct native module and method pairs called during the lifetime of the span. Useful as a cardinality signal when the per-method breakdown has been truncated.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    7
  ],
  "alias": [
    "turbo_module.unique_methods",
    "turbo_modules.unique_methods"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.call.distinct_count attribute"
    }
  ]
}

react_native.module.duration.max

doubleScrub: ManualVisibility: PublicOTel: False

The duration of the slowest single native module call observed during the lifetime of the span, in milliseconds.

Examples512.5
Changelog
v0.24.0#564Added react_native.module.duration.max attribute
Raw JSON
{
  "key": "react_native.module.duration.max",
  "brief": "The duration of the slowest single native module call observed during the lifetime of the span, in milliseconds.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    512.5
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.duration.max attribute"
    }
  ]
}

react_native.module.duration.total

doubleScrub: ManualVisibility: PublicOTel: False

The combined wall-clock duration of all native module calls observed during the lifetime of the span, in milliseconds. Calls overlap, so this can exceed the span duration.

Changelog
v0.24.0#564Added react_native.module.duration.total attribute
Raw JSON
{
  "key": "react_native.module.duration.total",
  "brief": "The combined wall-clock duration of all native module calls observed during the lifetime of the span, in milliseconds. Calls overlap, so this can exceed the span duration.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    128.45
  ],
  "alias": [
    "turbo_module.total_duration_ms",
    "turbo_modules.total_duration_ms"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.duration.total attribute"
    }
  ]
}

react_native.module.error.count

integerScrub: ManualVisibility: PublicOTel: False

The number of native module calls that failed during the lifetime of the span. A call counts as failed when it threw, rejected, or — on the Old Architecture bridge only — invoked its failure callback.

Changelog
v0.24.0#564Added react_native.module.error.count attribute
Raw JSON
{
  "key": "react_native.module.error.count",
  "brief": "The number of native module calls that failed during the lifetime of the span. A call counts as failed when it threw, rejected, or — on the Old Architecture bridge only — invoked its failure callback.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    2
  ],
  "alias": [
    "turbo_module.total_error_count",
    "turbo_modules.total_error_count"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.error.count attribute"
    }
  ]
}

react_native.module.kind

stringScrub: ManualVisibility: PublicOTel: False

Whether the native module call completed synchronously or reported completion later through a Promise or a callback. One of sync or async.

Examplessyncasync
Changelog
v0.24.0#564Added react_native.module.kind attribute
Raw JSON
{
  "key": "react_native.module.kind",
  "brief": "Whether the native module call completed synchronously or reported completion later through a Promise or a callback. One of `sync` or `async`.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "sync",
    "async"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.kind attribute"
    }
  ]
}

react_native.module.method

stringScrub: ManualVisibility: PublicOTel: False

The name of the native module method that was called.

Scrubbing ReasonNative module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable
ExamplesgetUniqueId
Changelog
v0.24.0#564Added react_native.module.method attribute
Raw JSON
{
  "key": "react_native.module.method",
  "brief": "The name of the native module method that was called.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "getUniqueId"
  ],
  "alias": [
    "turbo_module.method"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.method attribute"
    }
  ]
}

react_native.module.name

stringScrub: ManualVisibility: PublicOTel: False

The name of the native module the call was dispatched to. On the New Architecture this is the TurboModule name, on the Old Architecture the NativeModules key.

Scrubbing ReasonNative module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable
ExamplesRNDeviceInfo
Changelog
v0.24.0#564Added react_native.module.name attribute
Raw JSON
{
  "key": "react_native.module.name",
  "brief": "The name of the native module the call was dispatched to. On the New Architecture this is the TurboModule name, on the Old Architecture the `NativeModules` key.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "RNDeviceInfo"
  ],
  "alias": [
    "turbo_module.name"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.name attribute"
    }
  ]
}

react_native.module.top.duration

doubleScrub: ManualVisibility: PublicOTel: False

The total duration attributed to react_native.module.top.name, in milliseconds.

Changelog
v0.24.0#564Added react_native.module.top.duration attribute
Raw JSON
{
  "key": "react_native.module.top.duration",
  "brief": "The total duration attributed to `react_native.module.top.name`, in milliseconds.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    87.25
  ],
  "alias": [
    "turbo_module.top_module_duration_ms"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.top.duration attribute"
    }
  ]
}

react_native.module.top.name

stringScrub: ManualVisibility: PublicOTel: False

The native module and method that accounted for the most total duration during the lifetime of the span, formatted as <module>.<method>.

Scrubbing ReasonNative module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable
ExamplesRNDeviceInfo.getUniqueId
Changelog
v0.24.0#564Added react_native.module.top.name attribute
Raw JSON
{
  "key": "react_native.module.top.name",
  "brief": "The native module and method that accounted for the most total duration during the lifetime of the span, formatted as `<module>.<method>`.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "RNDeviceInfo.getUniqueId"
  ],
  "alias": [
    "turbo_module.top_module"
  ],
  "changelog": [
    {
      "version": "0.24.0",
      "prs": [
        564
      ],
      "description": "Added react_native.module.top.name attribute"
    }
  ]
}