powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Агрегат по xEvents
3 сообщений из 3, страница 1 из 1
Агрегат по xEvents
    #39927761
Pavel1211
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Есть задача, связанная с перфомансом.
Мне необходимо посчитать суммарное CPU time всех необходимых мне запросов за определенный промежуток времени.
Это можно сделать, если трекать xEvent события ( с фильтром ) в файл -> выгрузить в таблицу -> посчитать агрегат.
А можно ли это реализовать более легковесным способом?
Таргеты "event_counter / histogram" используются для похожих задач, но, кажется, это не совсем то, что мне нужно.

Спасибо!
...
Рейтинг: 0 / 0
Агрегат по xEvents
    #39928028
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel1211,

а что вам мешает сразу из файла xel читать?

образно:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
drop table if exists #tmp;

create table #tmp (id int identity (1, 1) primary key clustered, [data] xml);

insert into #tmp ([data])
  select try_cast([event_data] as xml) 
  from sys.fn_xe_file_target_read_file ( 'PATH', 'FILE', NULL, NULL);

create selective xml index ix on #tmp ([data])
for (
 p1 = '/event//data/value' as SQL INT SINGLETON,
 p2 = '/event//action/value' as SQL INT SINGLETON
);
     
with x as (
     select [data].value('(/event/data[@name="cpu_time"]/value)[1]', 'int') as [cpu_time],
            [data].value('(/event/action[@name="collect_cpu_cycle_time"]/value)[1]', 'int') as [cpu_cycle]
     from #tmp t
)
select sum([cpu_time]), sum([cpu_cycle])
from x;
...
Рейтинг: 0 / 0
Агрегат по xEvents
    #39928043
Pavel1211
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Количество событий немаленькое.
Сначала они выжрут > 100Гб, а потом еще парсинг долго будет работать.
Мне казалось, что есть какой то лайтовый способ.
Но за скрипт спасибо, с xml индексами не доводилось работать :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Агрегат по xEvents
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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