BeginExecution scope: one loop iteration, job pass or batch that you mark in code. For a MassTransit consumer, an execution is one consumed message, when Foveus instrumentation is configured. Foveus does not detect scheduler, cron or Hangfire jobs as executions.
Foveus uses executions to show what happened, when it happened, how long it took, and what evidence was captured.
Why executions matter
Logs tell you what was written. Metrics tell you what changed. Traces show request flow. Executions show the actual unit of work you need to inspect. An execution can include:- service name
- endpoint or operation
- request context
- response context
- duration
- status
- logs
- failure details
- linked issue, if Foveus grouped it into one
Execution examples
An HTTP API request:
Each execution has a trigger type:
http for requests and outbound calls, job for BeginExecution scopes, and sdk for others, such as a logged exception outside any execution.
Foveus does not create execution boundaries automatically for arbitrary worker loops; use
BeginExecution. Database calls, cache operations, Hangfire, Quartz and cron jobs are not captured.What Foveus captures
The exact data depends on your SDK configuration and service type. A typical HTTP execution can include:
Execution detail returns at most 500 steps. Larger execution trees are flagged as truncated.
For worker services, Foveus captures logs, logged exceptions, outbound HTTP telemetry, metrics and trace propagation, plus one execution per
BeginExecution scope and one per consumed MassTransit message when instrumentation is configured.
Service name
Foveus uses the service name to group executions by logical service. If you do not setServiceName, Foveus uses your project assembly name.
You can override it in configuration:
Environment
UseEnvironment as a free-text label for where your service is running. When you do not set it, it is test or live, taken from the API key. It is not the ASP.NET Core environment.
Examples:
Mode
Foveus has two modes:
The API key decides the mode. There is no separate mode setting. To send live telemetry, use a live key:
Status
An execution has one of these statuses:Context
Execution context is structured data captured from the request, response, query string, or custom context. By default, context is captured for every failed request and for 1% of successful requests (ContextSamplingRate is 0.01). Response bodies are not captured unless you enable CaptureResponseBodies.
For example:
Execution Context Search uses indexed execution context. It does not scan arbitrary raw request bodies.
Linked logs
If logging is configured, Foveus can show logs related to an execution. This helps you inspect the log lines that occurred during the same unit of work instead of searching through unrelated log streams. For worker services, logs are linked to an execution only when they are written inside aBeginExecution scope or while an instrumented MassTransit consumer handles a message.
Worker telemetry
Foveus can be used in.NET Worker Service and BackgroundService apps.
Worker services use:
ILoggerlogs- logged exceptions
- outbound HTTP telemetry through
IHttpClientFactory - trace and execution header propagation on outbound HTTP
- one execution per unit of work, when you mark it with
BeginExecution - SDK shutdown flushing
- source classification as
worker - MassTransit consumers, when
cfg.AddFoveusInstrumentation(context)is configured
BeginExecution and shutdown flushing require Foveus.SDK 1.1.0-beta.18 or later.
Foveus does not create execution boundaries automatically for arbitrary worker loops, and it does not capture scheduler, cron or Hangfire job identity.
See Worker services.
Linked issues
Foveus can group failed executions into issues. An issue is an observed recurring failure pattern, grouped by failure signature. It describes what was observed; it is not a confirmed root cause. For example, several failed executions on the same endpoint may become one issue.- failure pattern
- representative execution
- linked executions
- recent activity
- lifecycle
- comments and activity history
Search executions
The Executions page is query-first because execution data can be high-volume. Common searches:When to use executions
Use executions when you need to:- investigate a support complaint
- find a request by customer ID or request ID
- inspect request and response context
- inspect the evidence for a failed request
- move from an issue to the exact failed execution
- correlate logs with a unit of work
BeginExecution to inspect its logs, exceptions and outbound HTTP calls as one execution. See Worker services.
What to do next
- View your first execution: View your first execution
- Search by context: Execution Context Search
- Learn about issues: Issues
- Set up worker services: Worker services
- Investigate a user complaint: Investigate a user complaint