> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Execution Overview

> Get a bird's-eye view of a transaction with the function trace, call trace, contracts, events, state changes, and gas profiler in one place.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2009.44.31.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=681671eddb1b5e0585403abe015e646f" alt="Successful Transaction" width="2516" height="1143" data-path="images/Screenshot 2021-11-25 at 09.44.31.webp" />

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2009.45.45.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=17a3730542f73493267233335fc04cd3" alt="Failed Transaction" width="2516" height="1143" data-path="images/Screenshot 2021-11-25 at 09.45.45.webp" />

Execution Overview - think of it as the bird's-eye view of the transaction. At a glance, you can see the exact code paths of all of the Smart Contracts that participated in a given transaction. You can open the transactions from the images above by clicking [**here (successful)**](https://dashboard.tenderly.co/tx/mainnet/0x1ca07994d823e4198d7517d828d99e2064f3204501284d5348ca8c11e3be53d8) and [**here (failed)**](https://dashboard.tenderly.co/tx/mainnet/0xe0ca90fba27e63cd8550565fa8d57559f76b67f5e7d8b8dbb150752a48cb87d2).

In the first tab - **Transaction Overview** - you can see and navigate through all of the elements of the transaction. Moreover, you can instantly (Re)Simulate the transaction by clicking the button in the top right, using different parameters, or even changing the source code to observe the outcome - [**read more about Simulations here**](/simulator-ui/overview).

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2009.57.12.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=870d4adafc8101b9ccf8bed36a11e6cd" alt="" width="1575" height="943" data-path="images/Screenshot 2021-11-25 at 09.57.12.webp" />

From the Overview Tab tab, you can instantly jump into Contract Sources or Debugger to see what happened:

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.13.51.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=de45784e86b54411992107a00193d666" alt="" width="2553" height="1158" data-path="images/Screenshot 2021-11-25 at 10.13.51.webp" />

If you're looking into a failed transaction, you can now **jump straight to all fail points by clicking the red warning icon and then clicking on the line that failed**:

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.46.08%20(1).webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=556893b48138dd1e6381df0c638afcbf" alt="" width="2553" height="1141" data-path="images/Screenshot 2021-11-25 at 10.46.08 (1).webp" />

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.47.46.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=f9371e74d1ce4accd3d5ac92eaccaa5e" alt="" width="2553" height="1230" data-path="images/Screenshot 2021-11-25 at 10.47.46.webp" />

You can also search the Execution Trace, as well as easily navigate it with your keyboard arrows:

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.18.19.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=b4e9ad96ce7bafb9a701704ed74f9a82" alt="" width="2553" height="1158" data-path="images/Screenshot 2021-11-25 at 10.18.19.webp" />

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/ezgif.com-gif-maker%20(6).gif?s=a0d62baa5fb34537882b14b439bfef4d" alt="" width="800" height="359" data-path="images/ezgif.com-gif-maker (6).gif" />

### Call and Function Trace

In the Execution Trace section, you'll find a dropdown menu right next to the search field. By default, it's set to **Function Trace**, which means it will show all external and internal calls that happened in this transaction.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-12-22%20at%2010.26.14.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=7bc8570287e79804ae7b1df986007399" alt="" width="2550" height="1144" data-path="images/Screenshot 2021-12-22 at 10.26.14.webp" />

For a better overview of key calls, switch it to **Call Trace**, which shows only external calls that happened in the transaction.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-12-22%20at%2010.35.27.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=9902b40c04f53e00d9116357ba4f7e98" alt="" width="2550" height="1134" data-path="images/Screenshot 2021-12-22 at 10.35.27.webp" />

<Info>
  You can **comment and prioritize any trace you want**, either for yourself or to make
  collaboration in the project easier. You can [**read more about it
  here**](/debugger/commenting).
</Info>

This feature is available in [**Debugger**](/debugger/overview) as well. Now, let's say you want to really dig really deep into your (or any other) Transaction. Let's go through each of the tabs available.

### Contracts

When you're in the **Transaction Overview** tab, in the upper navigation, you can click **Contracts** (or **Addresses**) to see all of the contracts that have been involved in a certain transaction:

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-10-14%20at%2015.21.21.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=5a077a5709fb08210d6fda4a8ba6c417" alt="" width="2542" height="1151" data-path="images/Screenshot 2021-10-14 at 15.21.21.webp" />

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-10-14%20at%2015.21.39.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=11e1269d6c434281fd3dd18d56f9b709" alt="" width="2542" height="1151" data-path="images/Screenshot 2021-10-14 at 15.21.39.webp" />

By clicking on a contract, you can view its source code:

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.00.32.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=2fe0930b3eebd554e0e4661d53c75cc8" alt="" width="2553" height="1160" data-path="images/Screenshot 2021-11-25 at 10.00.32.webp" />

### Events

Smart Contract Events are the de-facto way of notifying interested parties that some event has occurred. The Logs themselves also contain valuable information in addition to the information that a particular event has occurred.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.03.57.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=27e9efee3e22d5fd28bb450e51107606" alt="" width="2553" height="1135" data-path="images/Screenshot 2021-11-25 at 10.03.57.webp" />

When we click the **Events** tab, we can see all of the Events that were [emitted during a transaction](https://dashboard.tenderly.co/tx/mainnet/0x98a8a99daec2823836ac155003ec7c798ded926a86e1c165716dd0d0ea5133a0). What is even better is that **the event parameters are already decoded and shown in a human-readable format**. No more time wasted decoding hex strings to see what happened. You can also filter the Events by Name and Smart Contract.

### State Changes

As Smart Contracts are getting more and more complex, the states of those smart contracts are getting more complex as well.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.05.37.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=dbbfce4802dbf3710c9db5ec18d9d5c1" alt="" width="2553" height="873" data-path="images/Screenshot 2021-11-25 at 10.05.37.webp" />

Here we see that not only does Tenderly show the state variables that were changed, but also **all of them are decoded for your convenience**. **And yes, structures are decoded correctly as well**.

You can see that transaction and its intricacies [here](https://dashboard.tenderly.co/tx/mainnet/0x98a8a99daec2823836ac155003ec7c798ded926a86e1c165716dd0d0ea5133a0).

### Debugger

Debugging stack traces is an important part of any developer's workflow both locally and in production. By clicking on the **Debugger** tab, you'll be able to deep-dive into everything that happened with your (or any other) transaction.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.41.38.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=3e8662e7e09bad511a4b5aef20388409" alt="" width="2553" height="1087" data-path="images/Screenshot 2021-11-25 at 10.41.38.webp" />

**The stack trace above shows the exact line of code where the transaction failed**. From there, you can click **Debug Error** and find the issue in no time. Check out[ **how to use Tenderly Debugger**](/debugger/overview) and [**investigate failed transactions**](/debugger/overview)!

### Gas Profiler

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.29.41.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=b526d5cb3723b51b577b36b201f598b3" alt="" width="2553" height="775" data-path="images/Screenshot 2021-11-25 at 10.29.41.webp" />

The chart you see in the image above is called a flame graph. It's a common way to show the usage of a resource like a CPU. You can find the example above [here](https://dashboard.tenderly.co/tx/mainnet/0x98a8a99daec2823836ac155003ec7c798ded926a86e1c165716dd0d0ea5133a0).

Each line shows the sum cost of the lines beneath it. If you click on any of the lines (functions), you can see a detailed breakdown of the gas cost of the functions that were invoked.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/Screenshot%202021-11-25%20at%2010.32.46.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=0776568fec9bdccf8cc3024ebeda34c8" alt="" width="2553" height="977" data-path="images/Screenshot 2021-11-25 at 10.32.46.webp" />

You can finally see which functions are using the most gas and pick the right parts of your code to optimize.
