# Tracing

### Tracing Overview

Tracing is a technique used in software development to monitor and record specific information about a program's execution. It's a crucial part of debugging and performance analysis, allowing developers to understand how a program behaves at runtime, and identify any potential issues or bottlenecks.

#### Key Aspects of Tracing

* **Visibility**: Tracing provides visibility into the transaction flow and its interaction with different functions, making it easier to pinpoint errors or inefficiencies.
* **Performance Analysis**: By analyzing trace logs, developers can identify slow operations and optimize them to improve overall performance.
* **Debugging**: Tracing allows developers to examine the state of a program at various points in execution, facilitating easier debugging of complex issues.
* **Monitoring**: In production environments, tracing can be used to monitor the health and performance of applications, aiding in proactive maintenance.

#### Blocktorch's Tracing capabilities

* [**Stack traces**](/use-cases/tracing/stack-traces.md) for smart contract transactions
* [**Invocation flows**](broken://pages/vqW6eom34J5WqcORSIXn) to follow through the tree of function invocations visually
* [**End-2-End Traces**](/use-cases/tracing/end-2-end-traces.md) across different systems by creating a full span starting from the user action in your application's [User Interface](/concepts/data-sources/react-frontends.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.blocktorch.xyz/use-cases/tracing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
