Если у вас есть sysdig
, вы можете вставлять трассировщики в произвольные точки, предполагая, что вы можете изменить код, чтобы добавить необходимые записи в/dev/null
echo '>::blah::' >/dev/null
foo.sh | bar.sh
echo '<::blah::' >/dev/null
(но это не соответствует вашему требованию "однократной операции" ), а затем записывать через
$ sudo sysdig -w blalog "span.tags contains blah"
а затем вам, вероятно, понадобится sysdig chisel, чтобы экспортировать только длительности
description = "Exports sysdig span tag durations";
short_description = "Export span tag durations.";
category = "Tracers";
args = {}
function on_init()
ftags = chisel.request_field("span.tags")
flatency = chisel.request_field("span.duration")
chisel.set_filter("evt.type=tracer and evt.dir=<")
return true
end
function on_event()
local tags = evt.field(ftags)
local latency = evt.field(flatency)
if latency then
print(tostring(tags).. "\t".. tonumber(latency) / 1e9)
end
return true
end
, который когда-то был сохранен в вашем каталоге sysdig/chisels
как файл spantagduration.lua
можно использовать как
$ sysdig -r blalog -c spantagduration
...
Или вы можете поиграть с csysdig
или выводом JSON.
Вы не можете использовать MIT -SHM с удаленного клиента X11.
Только подумайте о его аббревиатуре :SHM = разделяемая память. Если клиент и сервер работают на разных машинах, они не могут совместно использовать память.
Предполагается, что это расширение ускорит запросы X11, которые передают много данных, используя API-интерфейс общей памяти SySV вместо записи через сокет (, например.XPutImage
->XShmPutImage
). Его преимущества на современных компьютерах спорны ИМХО.