Работа с расширением MIT-SHM X11 в Linux

Если у вас есть 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.

3
07.08.2019, 12:24
1 ответ

Вы не можете использовать MIT -SHM с удаленного клиента X11.

Только подумайте о его аббревиатуре :SHM = разделяемая память. Если клиент и сервер работают на разных машинах, они не могут совместно использовать память.

Предполагается, что это расширение ускорит запросы X11, которые передают много данных, используя API-интерфейс общей памяти SySV вместо записи через сокет (, например.XPutImage->XShmPutImage). Его преимущества на современных компьютерах спорны ИМХО.

4
27.01.2020, 21:24

Теги

Похожие вопросы