---
title: "SDK observability"
description: "Find the observability setup and data-safety contract for your Inttegro SDK."
canonical: "https://studio.inttegro.com/sdk-observability"
format: inttegro-machine-docs/v1
language: "Ruby"
sdk_version: "v10.0.0"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/ruby/readers/index.json"
reader_identification: "Optional: declare your client only if known and your current-session capabilities; use reader_manifest for supplemental recommendations."
preamble_estimated_tokens: 367
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "general"
recommended_mcp_tools: []
estimated_tokens: 1146
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Find the observability setup and data-safety contract for your Inttegro SDK. This Ruby representation uses the selected SDK's native names wherever Studio has a verified mapping.

### Five questions

#### Q1. When should the reader use SDK observability?

Use this page as orientation before selecting the narrower guide or reference that owns the implementation contract.

#### Q2. What is authoritative on this page?

Use this page for orientation; follow its canonical SDK, guide, API, or MCP links for exact contracts.

#### Q3. What page-specific constraint matters most?

Use the page to choose a canonical next source instead of treating summary material as a complete implementation contract.

#### Q4. Can Inttegro MCP materially help with this task?

No catalog ability is sufficiently specific to recommend for this page. Use the documentation directly; consult the MCP catalog only if the task later requires governed live account context or a supported operation.

#### Q5. How should the reader verify the answer and continue?

Select the narrowest linked guide or reference, apply its stated completion condition, and verify against authoritative resource state when the task changes data. Continue with [Flutter](https://studio.inttegro.com/machine/ruby/mobile/flutter.md#observability) and [React Native](https://studio.inttegro.com/machine/ruby/mobile/react-native.md#observability) when those concerns enter scope.

## Document content

# SDK observability

Observability is documented alongside each SDK so installation, tracing setup,
and opt-out instructions use the language and API you are working with.

## Server SDKs

- [TypeScript](https://studio.inttegro.com/machine/ruby/sdks/typescript.md#observability)
- [Python](https://studio.inttegro.com/machine/ruby/sdks/python.md#observability)
- [Ruby](https://studio.inttegro.com/machine/ruby/sdks/ruby.md#observability)
- [PHP](https://studio.inttegro.com/machine/ruby/sdks/php.md#observability)
- [Go](https://studio.inttegro.com/machine/ruby/sdks/go.md#observability)
- [Java](https://studio.inttegro.com/machine/ruby/sdks/java.md#observability)
- [.NET](https://studio.inttegro.com/machine/ruby/sdks/dotnet.md#observability)

## Mobile SDKs

- [React Native](https://studio.inttegro.com/machine/ruby/mobile/react-native.md#observability)
- [Flutter](https://studio.inttegro.com/machine/ruby/mobile/flutter.md#observability)

Each page explains how the SDK connects to application-owned telemetry, what
it records, and which customer and payment data it deliberately excludes.

## Error reporting

The server SDKs also accept an application-owned error reporter. It receives a
typed, privacy-safe payload once a logical operation finally fails, so an
application can enqueue the report for its existing collector without catching
and rebuilding every SDK error itself.

The default policy reports unexpected SDK, transport, timeout, decoding,
`unknown_error`, and server-side failures. Applications can explicitly include
expected API failures, but cancellation is never reported. Reporter failures
cannot replace the original operation failure.

Reports include bounded operational metadata: SDK language and version,
logical operation, static route, server host, HTTP status and request ID when
available, duration, safe machine-readable API codes, exception type, stable
fingerprint, and trace identifiers when tracing is active. They never include
credentials, headers, bodies, resource identifiers, dynamic URLs, exception
messages, or stack traces.

Error reporting is completely opt-in. When no reporter is configured, the SDK
does not calculate report metadata, generate an event ID or timestamp, allocate
a report object, or serialize a payload. Tracing configuration is independent.
