Проверьте, был ли вызов ccache попаданием в кеш - PullRequest
2 голосов
/ 28 апреля 2019

В рамках процесса сборки я хотел бы получить статистику по времени сборки и по тому, нашел ли ccache элемент в кэше.Я знаю о ccache -s, где я могу сравнить предыдущее и текущее число обращений к кешу.

Однако, если у меня параллельно работают сотни потоков компиляции, статистика не сообщает мне, какой файл вызвал попадание.

Код возврата ccache - это код компилятора.Могу ли я получить ccache, чтобы сообщить мне, был ли он успешным?

1 Ответ

1 голос
/ 18 июля 2019

Есть два варианта:

  1. Включить файл журнала ccache : установить log_file в конфигурации (или переменную среды CCACHE_LOGFILE) на путь к файлу. Затем вы можете выяснить результат каждой компиляции из данных журнала. Это может быть немного утомительно, если есть много параллельных вызовов ccache (файл журнала совместно используется всеми из них, поэтому записи журнала из разных процессов будут чередоваться), но это возможно, принимая во внимание PID-часть каждой строки журнала.
  2. В ccache 3.5 и новее лучше включить режим отладки : установить в конфигурации debug = true (или переменную среды CCACHE_DEBUG=1). Затем ccache сохранит журнал для каждого созданного объектного файла в <objectfile>.ccache-log. Подробнее читайте в Отладка кэша в руководстве по ccache.
...