> ## 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.

# Gas Profiler

> Разберите потребление газа по функциям с помощью интерактивной flame chart, найдите самые дорогие вызовы и оптимизируйте расход газа в Debugger.

Gas Profiler даёт разбивку потребления газа, показывая, как каждая функция внутри контракта использует газ при выполнении. В сочетании с Debugger и Simulator, Gas Profiler составляет ядро Developer Explorer.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/developer-explorer/profiler/gas-profiler-2.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=e2546187e8b8441d9d8d856b13d62387" alt="Gas profiler" width="5344" height="3054" data-path="images/developer-explorer/profiler/gas-profiler-2.webp" />

## Начало работы с Gas Profiler

1. Откройте любую транзакцию со страницы со списком транзакций. Попробуйте эту [пример-транзакцию](https://dashboard.tenderly.co/tx/1/0x1696cfc031695003b8a58f0379c7f111b34c7612a67681354dc57cb5853c5c63/gas-usage).

2. Перейдите в **Gas Profiler** в верхнем меню, чтобы получить доступ к интерактивной flame chart с детальной разбивкой расхода газа для каждой вызванной функции, включая внутренние транзакции.

3. Кликните по любой функции, чтобы открыть детальный вид её расхода газа.

4. Для более глубокого анализа [откройте транзакцию в Debugger](/debugger/overview), чтобы определить точную строку кода в файле Solidity, отвечающую за выполнение.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/developer-explorer/profiler/profiler-debugger.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=477635b24417b9ed4e8e82708769654f" alt="Gas profiler" width="5344" height="3054" data-path="images/developer-explorer/profiler/profiler-debugger.webp" />

### Оптимизация расхода газа

1. Клик по вызову функции на flame chart отображает детальную информацию о расходе газа в нижней панели.

2. Если вы подозреваете, что функция нуждается в оптимизации газа, нажмите кнопку **View in Debugger**, чтобы перейти к коду и оптимизировать его для снижения расхода газа.

3. Чтобы убедиться, что изменения помогают снизить расход газа, вы можете симулировать ту же транзакцию с изменённым кодом и сравнить результаты профилирования газа.

#### Total gas и actual gas

**Total Gas** представляет общую стоимость выполнения в газе, включая сумму стоимостей всех вызванных опкодов.

**Actual Gas** обозначает чистую стоимость выполнения в газе. Умноженная на `gas_price`, она даёт точную сумму, которую вы заплатили бы за это выполнение в wei.

Формула расчёта Actual Gas: `actual_gas_used = total_gas - gas_refund`.

Пользователи блокчейна получают вознаграждение за очистку хранилища в виде [возврата газа](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-3-gas-refunds) за вызовы `SSTORE`, которые фактически «удаляют» существующие сохранённые данные. Эти возвраты газа вычитаются из Total Gas, давая в результате Actual Gas.
