Ubuntu 14.04 arbtt-stats index для большой ошибки
Я недавно установил arbtt, который, кажется, представляет собой интересный, основанный на правилах, автоматический трекер времени. http://arbtt.nomeata.de/
У меня это работает по большей части, но после 30 минут или около того сбора статистики, я получаю следующую ошибку.
Processing data [=>......................................................................................................................................................................................] 1%
arbtt-stats: Prelude.(!!): index too large
Кто-нибудь есть какие-либо предложения о том, как я могу решить эту проблему, или еще лучше, решить ее? У меня 0 опыта работы с языком кодирования, который использовался для создания правил (я полагаю, Хаскель). Все, что я сделал к этому моменту, - как можно точнее следуйте документации.
Эта ошибка в конечном итоге делает инструмент бесполезным, поскольку он не собирает данные более 30 минут. Чтобы это исправить, я должен удалить журнал и начать с нуля. Меня в первую очередь интересует идея настраиваемого трекера времени, основанного на правилах, но я никоим образом не связан с использованием arbtt.
Основываясь на комментариях ниже, я включаю некоторую дополнительную информацию ниже.
Когда я пытаюсь запустить arbtt-recovery, я получаю длинный список ошибок, которые выглядят следующим образом. Кажется, что все они связаны с неподдерживаемым TimeLogEntry.
Trying at position 1726098.
Failed to read value at position 1726098:
Unsupported TimeLogEntry version tag 0
Что касается конфигурационного файла, то вот что я имею до сих пор.
$idle > 30 ==> tag inactive,
-- A rule that matches on a list of strings
current window $program == ["Chrome", "Firefox"] ==> tag Web,
current window $program == ["skype"] ==> tag Skype,
current window $program == ["jetbrains-phpstorm"] ==> tag PhpStorm,
( current window $title =~ m!Inbox! ||
current window $title =~ m!Outlook! ) ==> tag Emails,
( current window $title =~ m!AdWords! ||
current window $title =~ m!Analytics! ) ==> tag Adwords,
Это продолжается и дальше, но я уверен, что следовал тому же синтаксису для всех остальных строк. Остальные строки следуют тому же формату, но для меня это проект / клиент. Если потребуется, я с удовольствием включу остальную часть файла.
1 ответ
Как обсуждалось в комментариях: это случай коррупции ~/.arbtt/capture.log
, Обычно это можно исправить
- Бег
arbtt-recover
- а затем двигаясь
~/.arbtt/capture.log.recovered
в~/.arbtt/capture.log
,
Второй ручной шаг необходим, чтобы избежать случайного удаления слишком большого количества данных. Вы можете проверить, что восстановленный файл лучше, сделав arbtt-stats
используя восстановленный файл, передав --logfile=~/.arbtt/capture.log.recovered
к этому.
Повреждение данных происходит, например, когда происходит нечистое завершение работы или по другим неопределенным причинам. Но формат файла журнала таков, что даже после повреждения (например, частичной записи одного образца), дополнительные образцы будут записаны правильно и должны быть выбраны arbtt-recover
Таким образом, вы не потеряли больше, чем несколько образцов.