title: “Executions” description: “Learn what an execution is and how Foveus uses executions to explain application behavior.”
Executions
An execution is one run of work in your application. For an API service, an execution is usually one HTTP request. For a worker, an execution may eventually represent one job, message, scheduled task, or background operation. Worker support is evolving, so HTTP request capture is currently the most complete execution boundary. 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 * outcome * logs * failure details * linked issue, if Foveus grouped it into oneExecution examples
An HTTP API request:HTTP execution capture is currently the most complete execution boundary. Worker services can send logs, exceptions, outbound HTTP telemetry, metrics, and trace context today, but full automatic per-job execution capture for arbitrary worker loops is still evolving.
What Foveus captures
The exact data depends on your SDK configuration and service type. A typical HTTP execution can include:
For worker services, Foveus can capture logs, logged exceptions, outbound HTTP telemetry, metrics, trace propagation, and supported messaging instrumentation hooks.
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:
Environment
UseEnvironment to describe where your service is running.
Examples:
Mode
Foveus has two modes:
Foveus defaults to
test.
Set Mode only when sending live telemetry.
Outcomes
An execution can have an outcome such as:
Foveus can use HTTP status codes, response fields, exception data, and configured outcome semantics to determine the outcome.
Context
Execution context is structured data captured from the request, response, query string, or custom context. 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 currently one of the most useful telemetry sources.Worker telemetry
Foveus can be used in.NET Worker Service and BackgroundService apps.
Worker services use:
ILogger logs
* logged exceptions
* outbound HTTP telemetry through IHttpClientFactory
* trace and execution header propagation on outbound HTTP
* SDK shutdown flushing
* source classification as worker
* supported MassTransit instrumentation hooks
Full automatic per-job execution capture for arbitrary worker loops is not yet implemented.
See Worker services.