Поиск всех вызовов функции, которые может вызвать другая функция - PullRequest
0 голосов
/ 30 марта 2020

У меня есть класс запросов, который вызывается во всем большом проекте, и одна из наших функций работает особенно медленно. Мне нужно идентифицировать все экземпляры этого запроса, вызываемого определенной функцией (операцией), чтобы мы могли оценить его. Это означает, что функция вызывает другую функцию и может иметь запрос, и эта функция может вызывать функцию, которая делает запрос, и т. Д. И т. Д.

Этот язык является проприетарным (gosu), который отключен java, поэтому для него не так уж много инструментов, но может подойти решение на java.

Я думаю, я не первый, кому нужен такой вид решение, поэтому мне интересно, если кто-нибудь знает, как выполнить sh это или знает каноническое название проблемы?

Что я думал до сих пор:

Я бы настроить регистраторы, но класс, который я хочу регистрировать, является функцией «из коробки», что означает, что мы не можем с ней возиться. - это функция ведения журнала, но нам разрешено включать эту функцию только в тестовом / локальном режиме, а не в рабочей среде, где возникает проблема, и мы не смогли воспроизвести проблему в тестовом или локальном режиме.

Просто выполните поиск в каталоге: это работает до некоторой степени, но есть обратное отслеживание, которое необходимо выполнить, чтобы очистить другие функции, и оно только ловит то, что находится в каталоге, а не то, что в другом Пакеты, которые может вызывать функция просто перехватите все вызовы.

Я знаю общее количество экземпляров вызовов запроса, и оно слишком велико, чтобы go проходить вручную, и сортировать, какие вызовы принадлежат какой функции.

1 Ответ

0 голосов
/ 06 апреля 2020

Если ваша проблема связана с производственной средой, я думаю, что в вашей компании могут быть такие инструменты мониторинга, как CA Willy (например). Этот инструмент может использовать класс для просмотра его активности.

...