Foveus separates telemetry into two modes:
| Mode | Use for |
|---|
test | Local development, sandbox testing, QA, and onboarding |
live | Production 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.
| Concept | Example | Meaning |
|---|
| Service | orders-api | The application or worker producing telemetry |
| Environment | staging | Where the service is running |
| Mode | test | The 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 type | Example | Mode |
|---|
| Test key | fov_test_... | test |
| Live key | fov_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:
| Option | Default |
|---|
ServiceName | Project assembly name |
Environment | Current app environment |
Mode | test |
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