Adding Backend Data
Mobore accepts OpenTelemetry traces via OTLP/proto. Export your backend spans to correlate with mobile sessions.
Endpoints
Section titled “Endpoints”Mobore provides two endpoints for sending telemetry data:
Production Endpoint (Recommended)
Section titled “Production Endpoint (Recommended)”- URL:
https://traces.mobore.com/v1/traces - Protocol: OTLP over HTTP (protobuf encoding only)
- Status: Stable
Beta Endpoint (Experimental)
Section titled “Beta Endpoint (Experimental)”- URL:
https://raw.mobere.com - Protocol: Supports both OTLP over GRPC and OTLP JSON over HTTP
- Status: Beta - Subject to change
Use the production endpoint for stable deployments. The beta endpoint is available for testing GRPC and JSON inputs but may change without notice.
Node.js example
Section titled “Node.js example”import { NodeSDK } from '@opentelemetry/sdk-node';import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto';
const traceExporter = new OTLPTraceExporter({ url: 'https://traces.mobore.com/v1/traces', headers: { authorization: 'YOUR_CLIENT_TOKEN' },});
const sdk = new NodeSDK({ traceExporter, serviceName: 'my-backend-service',});
sdk.start();process.on('SIGTERM', () => sdk.shutdown());Other backend options
Section titled “Other backend options”Production Endpoint (Protobuf over HTTP)
Section titled “Production Endpoint (Protobuf over HTTP)”At the moment the production endpoint supports OTLP over HTTP with protobuf encoding only.
Beta Endpoint (Additional Protocols)
Section titled “Beta Endpoint (Additional Protocols)”The beta endpoint at https://raw.mobere.com supports additional protocols:
- OTLP over GRPC (recommended for high-throughput scenarios)
- OTLP JSON over HTTP (easier for debugging and integration)
For the beta endpoint, use the same authorization: YOUR_CLIENT_TOKEN header.
- Go: use
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpwithWithEndpoint("traces.mobore.com"),WithURLPath("/v1/traces"), and add headerauthorization: YOUR_CLIENT_TOKEN. For beta GRPC support, useWithEndpoint("raw.mobere.com")with the GRPC exporter. - Java: use OTLP HTTP exporter and set endpoint to
https://traces.mobore.com/v1/traceswith the same header. For beta JSON support, usehttps://raw.mobere.comwith JSON encoding. - Python: use
OTLPSpanExporterwithendpointset to the URL above and add the authorization header. For beta GRPC support, use the GRPC exporter withendpoint="https://raw.mobere.com". Ensure protobuf is installed (e.g.,pip install opentelemetry-exporter-otlp-proto-http protobuf).
Example (Python):
from opentelemetry.sdk.trace import TracerProviderfrom opentelemetry.sdk.trace.export import BatchSpanProcessorfrom opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
exporter = OTLPSpanExporter( endpoint="https://traces.mobore.com/v1/traces", headers=("authorization=YOUR_CLIENT_TOKEN",),)
provider = TracerProvider()provider.add_span_processor(BatchSpanProcessor(exporter))Beta Endpoint Examples
Section titled “Beta Endpoint Examples”GRPC Example (Python)
Section titled “GRPC Example (Python)”from opentelemetry.sdk.trace import TracerProviderfrom opentelemetry.sdk.trace.export import BatchSpanProcessorfrom opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
exporter = OTLPSpanExporter( endpoint="https://raw.mobere.com", headers=("authorization=YOUR_CLIENT_TOKEN",),)
provider = TracerProvider()provider.add_span_processor(BatchSpanProcessor(exporter))JSON Example (Python)
Section titled “JSON Example (Python)”from opentelemetry.sdk.trace import TracerProviderfrom opentelemetry.sdk.trace.export import BatchSpanProcessorfrom opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
exporter = OTLPSpanExporter( endpoint="https://raw.mobere.com", headers=("authorization=YOUR_CLIENT_TOKEN",), # This will use JSON format instead of protobuf)
provider = TracerProvider()provider.add_span_processor(BatchSpanProcessor(exporter))Service names and attributes
Section titled “Service names and attributes”- Set a stable
serviceNameper service. - Use standard OTel attributes where possible; the UI already understands network and error semantics.
Linking mobile and backend
Section titled “Linking mobile and backend”- Mobore correlates backend traces to mobile sessions via standard W3C Trace Context. When your app makes a network request, the RUM SDK injects
traceparent/tracestateheaders. If your backend honors these headers, the resulting spans will share a trace with the mobile session, enabling deep-links from a session to backend spans. - If your mobile app uses custom networking, ensure headers are forwarded. On the server side, enable auto-instrumentation or middleware that reads incoming trace context.