Skip to main content
Foveus separates telemetry into two modes:
ModeUse for
testLocal development, sandbox testing, QA, and onboarding
liveProduction telemetry
Use Test mode while setting up Foveus. Use Live mode when you are ready to send production telemetry.

Test mode

Test mode is the default. When you install the SDK and pass a test API key, you do not need to set Mode.
builder.Services.AddFoveus("fov_test_...");
Foveus uses Test mode automatically. Use Test mode for:
  • local development
  • sandbox services
  • QA environments
  • staging validation
  • private beta setup
  • SDK integration testing

Live mode

Use Live mode for production telemetry. To send live telemetry, use a live API key and set Mode to live.
{
  "Foveus": {
    "ApiKey": "fov_live_...",
    "ServiceName": "orders-api",
    "Environment": "production",
    "Mode": "live"
  }
}
Do not use a live key in local development. Do not use a test key for production telemetry.

Mode is different from environment

Mode controls the Foveus data boundary. Environment describes where your service is running. They are related, but they are not the same thing.
ConceptExampleMeaning
Serviceorders-apiThe application or worker producing telemetry
EnvironmentstagingWhere the service is running
ModetestThe Foveus telemetry boundary
For example, a staging service can send telemetry in Test mode:
{
  "Foveus": {
    "ApiKey": "fov_test_...",
    "ServiceName": "orders-api",
    "Environment": "staging"
  }
}
A production service should send telemetry in Live mode:
{
  "Foveus": {
    "ApiKey": "fov_live_...",
    "ServiceName": "orders-api",
    "Environment": "production",
    "Mode": "live"
  }
}

Service names are yours

Foveus works with the service names your team already uses. Some teams use stable logical names:
orders-api
payments-worker
identity-service
Other teams include the deployment environment in the service name:
orders-api-dev
orders-api-staging
orders-api-prod
Both can work. If you are setting up a new service, a stable service name plus an explicit environment is easier to compare across deployments.
{
  "Foveus": {
    "ApiKey": "fov_live_...",
    "ServiceName": "orders-api",
    "Environment": "production",
    "Mode": "live"
  }
}
If your organization already uses environment-specific service names, you can keep using them.

API keys and modes

Foveus API keys are mode-aware.
Key typeExampleMode
Test keyfov_test_...test
Live keyfov_live_...live
During private beta:
  • test keys are created automatically during onboarding
  • live keys are created manually from Settings
  • test key rotation from Settings is not available yet

Dashboard mode

The dashboard can show Test or Live telemetry. If you are using a test key and do not see executions, make sure the dashboard is showing Test mode. If you are using a live key, make sure the dashboard is showing Live mode.

Common setups

Local development

{
  "Foveus": {
    "ApiKey": "fov_test_..."
  }
}
Foveus uses:
OptionDefault
ServiceNameProject assembly name
EnvironmentCurrent app environment
Modetest

Staging

{
  "Foveus": {
    "ApiKey": "fov_test_...",
    "ServiceName": "orders-api",
    "Environment": "staging"
  }
}
Staging can use Test mode unless you intentionally want production-grade Live telemetry for that environment.

Production

{
  "Foveus": {
    "ApiKey": "fov_live_...",
    "ServiceName": "orders-api",
    "Environment": "production",
    "Mode": "live"
  }
}
Production should use a live key and Mode: "live".

Troubleshooting

I do not see my executions

Check that:
  • your API key is valid
  • the dashboard is showing the same mode your service is sending to
  • your service can reach Foveus
  • your time range includes the request
  • your service name matches the value you are searching for

My telemetry appears in Test mode

Foveus defaults to Test mode. If you are sending production telemetry, set Mode to live and use a live key.
{
  "Foveus": {
    "ApiKey": "fov_live_...",
    "Mode": "live"
  }
}

My service name includes dev, staging, or prod

That is okay. Foveus can work with your existing naming convention. If you want cleaner cross-environment comparison later, you can standardize service naming and use Environment to separate deployments.

What to do next