powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / trace: сумма длительностей операций много меньше итоговой длительности
3 сообщений из 3, страница 1 из 1
trace: сумма длительностей операций много меньше итоговой длительности
    #38649554
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

Я опять забыл: когда некая ХП "top-уровня" выполняет много всяких полезнейших SQL-стейтментов, а также вызывает другие ХП, то что выводит трейс в значении длительности её выполнения ? Учитывает ли он работу только вызываемых ХП, или должен учитывать также и работу SQL-стейтментов ?

Например,
1) вызов некоторой ХП длился минуту:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Statement 2761594:
-------------------------------------------------------------------------------
select count(*) from sp_add_invoice_to_stock( 4173 )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PLAN (SP_ADD_INVOICE_TO_STOCK NATURAL)
1 records fetched
  60094 ms, 93 write(s), 77160832 fetch(es), 5085 mark(s)
2) перед вызовом был включен трейс с конфигом, в котором все ключики = true:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 enabled = true
  log_sweep = true
  log_errors = true

  time_threshold = 0

  log_context = true
  log_connections = true
  log_transactions = true

  log_statement_prepare = true
  log_statement_start = true
  log_statement_free = true
  log_trigger_start = true
  log_procedure_start = true
  log_function_start = true

  log_statement_finish = true
  log_procedure_finish = true
  log_function_finish = true
  log_trigger_finish = true

  print_plan = true
  print_perf = true
  max_sql_length = 16384
  max_log_size = 9999999999
- и как тогда понять тот факт, что сумма длительностей отдельных модулей, вызывавшихся из этой ХП, гораздо меньше, чем 60 сек ?

Это легко видеть, если фильтрануть из лога трейса длительности, отличающиеся от 0 ms:
Код: plaintext
grep " ms" trc3333_20140522_181618.log | grep -v " 0 ms" >trc_ms
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
$ cat trc_ms
      2 ms, 1337 fetch(es), 364 mark(s)
      1 ms, 853 fetch(es), 232 mark(s)
    522 ms, 2 write(s), 69848 fetch(es), 72 mark(s)
   1108 ms, 2 write(s), 380059 fetch(es), 168 mark(s)
      1 ms, 540 fetch(es), 173 mark(s)
      1 ms, 550 fetch(es), 177 mark(s)
   2485 ms, 2 write(s), 975170 fetch(es), 357 mark(s)
   2087 ms, 2 write(s), 1300257 fetch(es), 255 mark(s)
      1 ms, 350 fetch(es), 112 mark(s)
   2356 ms, 2 write(s), 1642980 fetch(es), 236 mark(s)
    708 ms, 2 write(s), 221894 fetch(es), 51 mark(s)
      5 ms, 228 fetch(es)
      5 ms, 228 fetch(es)
   2270 ms, 2 write(s), 1811566 fetch(es), 236 mark(s)
      5 ms, 228 fetch(es)
      5 ms, 228 fetch(es)
      1 ms, 1 write(s), 16 fetch(es), 4 mark(s)
    551 ms, 2 write(s), 452659 fetch(es), 83 mark(s)
      1 ms, 438 fetch(es), 141 mark(s)
   2663 ms, 2 write(s), 2617299 fetch(es), 291 mark(s)
      5 ms, 24 fetch(es), 3 mark(s)
   1671 ms, 2 write(s), 1649194 fetch(es), 153 mark(s)
      6 ms, 228 fetch(es)
      5 ms, 228 fetch(es)
   1764 ms, 2 write(s), 1716156 fetch(es), 151 mark(s)
   2760 ms, 2 write(s), 2852954 fetch(es), 219 mark(s)
   1294 ms, 2 write(s), 1462315 fetch(es), 121 mark(s)
      5 ms, 228 fetch(es)
      5 ms, 228 fetch(es)
   1314 ms, 2 write(s), 1208837 fetch(es), 100 mark(s)
  60094 ms, 93 write(s), 77160832 fetch(es), 5085 mark(s)
Сумма по значениям, превышающим 10 мс:
Код: plaintext
522+1108+2485+2087+2356+708+2270+551+2663+1671+1764+2760+1294+1314 = 23553 сек
ЗЫ. полный лог трейса - в аттаче.
...
Рейтинг: 0 / 0
trace: сумма длительностей операций много меньше итоговой длительности
    #38649606
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидили должен учитывать также и работу SQL-стейтментов ?
или должен
...
Рейтинг: 0 / 0
trace: сумма длительностей операций много меньше итоговой длительности
    #38649655
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоиди как тогда понять тот факт, что сумма длительностей отдельных модулей, вызывавшихся из этой ХП, гораздо меньше, чем 60 сек ?Сама процедура тоже что-то делает.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / trace: сумма длительностей операций много меньше итоговой длительности
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]