lttng - Online sa Cloud

Ito ang command lttng na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


lttng - LTTng 2.x tracer control command line tool

SINOPSIS


lttng [OPTIONS]

DESCRIPTION


Ang proyekto ng LTTng ay naglalayong magbigay ng napakahusay na mga tool sa pagsubaybay para sa Linux. Ang mga tracer nito
tumulong na subaybayan ang mga isyu sa pagganap at mga problema sa pag-debug na kinasasangkutan ng maramihang kasabay
mga proseso at mga thread. Posible rin ang pagsubaybay sa maraming system.

Ang Lttng command line tool mula sa lttng-tools package ay ginagamit upang kontrolin ang parehong kernel
at pagsubaybay sa espasyo ng gumagamit. Ang bawat pakikipag-ugnayan sa tracer ay dapat gawin ng tool na ito o
sa pamamagitan ng liblttng-ctl library na ibinigay ng lttng-tools package.

Gumagamit ang LTTng ng session daemon (lttng-sessiond(8)), na kumikilos bilang isang tracing registry, na
nagbibigay-daan sa iyong makipag-ugnayan sa maraming tracer (kernel at user-space) sa loob ng pareho
lalagyan, isang tracing session. Maaaring ipunin ang mga bakas mula sa kernel at/o gamitan ng instrumento
mga aplikasyon (lttng-ust(3)). Ang pagsasama-sama at pagbabasa ng mga bakas na iyon ay ginagawa gamit ang
babeltrace(1) viewer ng text.

Ipinakilala namin ang paniwala ng pagsubaybay domain na mahalagang isang uri ng tracer (kernel,
espasyo ng gumagamit, JUL, LOG4J o Python sa ngayon). Sa hinaharap, makakakita kami ng mas maraming tracer na tulad
halimbawa isang hypervisor. Para sa ilang mga command, kakailanganin mong tukuyin kung aling domain ang
gumagana ang command (-u, -k, -l, -j o -p). Halimbawa, dapat na tukuyin ang kernel domain
kapag pinapagana ang isang kernel na kaganapan.

Upang ma-trace ang kernel, ang session daemon ay kailangang tumakbo bilang root. LTTng
nagbibigay ng paggamit ng a pagsubaybay grupo (default: pagsubaybay). Kung sino man ang nasa grupong iyon ay pwede
makipag-ugnayan sa root session daemon at sa gayon ay masubaybayan ang kernel. Ang mga session daemon ay maaaring magsama-
umiiral, ibig sabihin ay maaari kang magkaroon ng session na daemon na tumatakbo bilang Alice na maaaring magamit
subaybayan ang kanyang mga aplikasyon kasama ang isang root daemon o kahit isang Bob daemon. Kami ay mataas
Inirerekomenda na simulan ang session daemon sa oras ng boot para sa stable at long term tracing.

Ang bawat user-space na application na ginagamitan ng lttng-ust(3) ay awtomatikong magrerehistro
gamit ang root session daemon at ang user session daemon nito. Nagbibigay-daan ito sa bawat daemon na maglista
ang magagamit na mga traceable na application at tracepoint sa anumang naibigay na sandali (Tingnan ang listahan
utos).

Opsyon


Ang program na ito ay sumusunod sa karaniwang GNU command line syntax na may mahabang opsyon na nagsisimula sa dalawa
mga gitling. Nasa ibaba ang isang buod ng mga magagamit na opsyon.

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

-V, --bersyon
Ipakita ang bersyon.

-sa, --verbose
Dagdagan ang verbosity. Tatlong antas ng verbosity ang magagamit na na-trigger ng
paglalagay ng karagdagang v sa opsyon (-vv o -vvv)

-q, --tahimik
Pigilan ang lahat ng mensahe (kahit na mga error).

-g, --grupo NAME
Itakda ang pangalan ng pangkat ng unix tracing. (default: pagsubaybay)

-n, --no-sessiond
Huwag awtomatikong mag-spawn ng session daemon.

--sessiond-path PATH
Itakda ang session daemon full binary path.

--listahan-mga opsyon
Simpleng listahan ng mga pagpipilian sa lttng.

--list-commands
Simpleng listahan ng mga lttng command.

-m, --mi TYPE
Interface ng makina

TYPE suportado: XML

Kino-convert ng machine interface (MI) mode ang tradisyonal na magandang pag-print sa isang makina
output syntax. Nagbibigay ang MI mode ng paraan na lumalaban sa pagbabago ng format para ma-access ang impormasyon
nabuo sa pamamagitan ng lttng command line.

Kapag gumagamit ng MI mode, ang data ay naka-print sa stdout. Naka-print ang error at babala
stderr gamit ang magandang print default na format.

Kung may anumang mga error na nangyari sa panahon ng pagpapatupad ng isang command, ang return value ng
ang command ay magiging iba sa zero. Sa kasong ito, HINDI ginagarantiyahan ng lttng ang
syntax at validity ng data ng nabuong MI output.

Para sa uri ng XML output, ang isang schema definition (XSD) file na ginagamit para sa pagpapatunay ay maaaring
matatagpuan sa ilalim ng src/common/mi_lttng.xsd

UTOS


magdagdag-konteksto [OPSYON]
Magdagdag ng konteksto sa (mga) kaganapan at/o (mga) channel.

Ang konteksto ay karaniwang karagdagang impormasyon na idinagdag sa isang channel. Halimbawa, ikaw
maaaring hilingin sa tracer na idagdag ang impormasyon ng PID para sa lahat ng kaganapan sa isang channel. Ikaw
maaari ding magdagdag ng performance monitoring unit counters (perf PMU) gamit ang perf kernel
API.

Halimbawa, idaragdag ng command na ito ang impormasyon sa konteksto na 'prio' at dalawang per-CPU
perf counters (hardware branch misses at cache misses), sa lahat ng event sa trace
output ng data:

# lttng add-context -k -t prio -t perf:cpu:branch-misses
-t perf:cpu:cache-misses

Pakitingnan ang tulong (-h/--help) para sa isang detalyadong listahan ng available
konteksto.

Available ang mga perf counter bilang per-CPU ("perf:cpu:...") at per-thread
("perf:thread:...") mga counter. Sa kasalukuyan, ang mga per-CPU counter ay magagamit lamang sa
kernel tracing domain, at per-thread counters ay maaari lamang gamitin sa UST
pagsubaybay sa domain.

Kung walang channel na ibinigay (-c), ang konteksto ay idaragdag sa lahat ng channel na dati
pinagana. Kung walang channel ang session, gagawa ng default na channel. Kung hindi
ang konteksto ay idaragdag lamang sa ibinigay na channel (-c).

If -oo, --session ay tinanggal, ang pangalan ng session ay kinuha mula sa .lttngrc file.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

-oo, --session NAME
Mag-apply sa pangalan ng session.

-c, --channel NAME
Mag-apply sa pangalan ng channel.

-k, --kernel
Mag-apply para sa kernel tracer

-ikaw, --userspace
Mag-apply para sa user-space tracer

-t, --type TYPE
Uri ng konteksto. Maaari mong ulitin ang pagpipiliang ito sa command line. Mangyaring gamitin
"lttng add-context -h" para ilista ang lahat ng available na uri.

mag-calibrate [OPSYON]
Tukuyin ang LTTng overhead

Maaaring gamitin ang LTTng calibrate command para malaman ang pinagsamang average na overhead
ng LTTng tracer at ang ginamit na mga mekanismo ng instrumentasyon. Ang overhead na ito ay maaaring
na-calibrate ayon sa oras o gamit ang alinman sa available na PMU performance counter
sa sistema.

Sa ngayon, ang tanging pagkakalibrate na ipinatupad ay ang sa kernel function
instrumentasyon (kretprobes).

* I-calibrate ang instrumento ng pagpapaandar ng kernel

Gumamit tayo ng isang halimbawa upang ipakita ang pagkakalibrate na ito. Gumagamit kami ng i7 processor na may 4
pangkalahatang layunin ng mga rehistro ng PMU. Ang impormasyong ito ay makukuha sa pamamagitan ng pagbibigay ng dmesg,
naghahanap ng "generic registers".

Ang pagkakasunud-sunod ng mga utos na ito ay mangangalap ng isang bakas na nagpapatupad ng isang kretprobe na nakakabit sa isang
walang laman na function, ang pangangalap ng mga PMU counter LLC (Last Level Cache) ay nawawalan ng impormasyon
(tingnan ang lttng add-context --help para makita ang listahan ng mga available na PMU counter).

# lttng lumikha ng calibrate-function
# lttng enable-event calibrate --kernel
--function lttng_calibrate_kretprobe
# lttng add-context --kernel -t perf:cpu:LLC-load-misses
-t perf:cpu:LLC-store-miss
-t perf:cpu:LLC-prefetch-misses
# lttng simula
# para sa isang sa $(seq 1 10); gawin
lttng i-calibrate --kernel --function;
tapos
# lttng sirain
# babeltrace $(ls -1drt ~/lttng-traces/calibrate-function-*
| buntot -n 1)

Ang output mula sa babeltrace ay maaaring i-save sa isang text file at mabuksan sa isang spreadsheet
(eg oocalc) para tumuon sa per-PMU counter delta sa pagitan ng magkasunod
"calibrate_entry" at "calibrate_return" na mga kaganapan. Tandaan na ang mga counter na ito ay per-
CPU, kaya ang pag-iiskedyul ng mga kaganapan ay kailangang naroroon upang isaalang-alang ang paglipat sa pagitan
CPU. Samakatuwid, para sa mga layunin ng pagkakalibrate, ang mga kaganapan lamang na nananatili sa parehong CPU ang dapat
pag-isipan.

Ang average na resulta, para sa i7, sa 10 sample:

Karaniwang Std.Dev.
perf_LLC_load_misses: 5.0 0.577
perf_LLC_store_misses: 1.6 0.516
perf_LLC_prefetch_misses: 9.0 14.742

Gaya ng mapapansin natin, medyo stable ang load at store misses sa mga run
(medyo mababa ang standard deviation nila) kumpara sa mga prefetch misses. Kami
ay maaaring maghinuha mula sa impormasyong ito na ang LLC load at store misses ay maaaring mabilang
para sa medyo tiyak, ngunit ang mga prefetch sa loob ng isang function ay tila kumikilos din
mali-mali (hindi gaanong sanhi ng link sa pagitan ng code na naisakatuparan at ng CPU prefetch
aktibidad) na dapat isaalang-alang.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

-k, --kernel
Mag-apply para sa kernel tracer

-ikaw, --userspace
Mag-apply para sa user-space tracer

--function
Dynamic na function entry/return probe (default)

lumikha [NAME] [OPSYON]
Gumawa ng tracing session.

Ang isang tracing session ay naglalaman ng (mga) channel na naglalaman ng (mga) kaganapan. Ito ay domain
agnostic, ibig sabihin, maaaring i-enable ang mga channel at event para sa user-space tracer
at/o ang kernel tracer. Ito ay gumaganap tulad ng isang lalagyan na pinagsasama-sama ng maramihang pagsubaybay
mga mapagkukunan.

Sa paglikha, a .lttngrc Ang file ay nilikha sa iyong $HOME na direktoryo na naglalaman ng
kasalukuyang pangalan ng session. Kung aalisin ang NAME, awtomatikong gagawin ang pangalan ng session
pagkakaroon ng ganitong form: 'auto-yyyymmdd-hhmmss'.

Kung hindi -o, --output ay tinukoy, ang mga bakas ay isusulat sa $HOME/lttng-traces.

Maaaring ma-override ang $HOME environment variable sa pamamagitan ng pagtukoy sa environment
variable LTTNG_HOME. Ito ay kapaki-pakinabang kapag ang gumagamit na nagpapatakbo ng mga utos ay may hindi-
masusulat na direktoryo ng tahanan.

HINDI DAPAT maglaman ng character na '/' ang pangalan ng session.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

-o, --output PATH
Tukuyin ang output path para sa mga bakas

--walang-output
Hindi magiging output ang mga bakas

--snapshot
Itakda ang session sa snapshot mode. Nilikha sa no-output mode at ginagamit ang
URL, kung tinukoy ang isa, bilang default na snapshot na output. Bawat channel
ay itatakda sa overwrite mode at may mmap output (hindi suportado ang splice).

--buhay [USEC]
Itakda ang session nang eksklusibo sa live mode. Ang parameter ay ang pagkaantala sa
micro segundo bago ma-flush at ma-stream ang data. Ang live na mode ay nagbibigay-daan
mong i-stream ang trace at tingnan ito habang nire-record ito ng sinumang tracer.
Para diyan, kailangan mo ng lttng-relayd at nangangailangan ang session na ito ng URL ng network
(-U o -C/-D). Kung walang ibinigay na USEC o URL, ang default ay gumamit ng timer
nakatakda ang value sa 1000000 at ang URL ng network ay nakatakda sa net://127.0.0.1.

Para magbasa ng live na session, maaari mong gamitin babeltrace(1) o ang live streaming
protocol sa doc/live-reading-protocol.txt. Narito ang isang halimbawa:

$ lttng-relayd -o /tmp/lttng
$ lttng lumikha --live 200000 -U net://localhost
$ lttng enable-event -a --userspace
$ltng pagsisimula

Pagkatapos ng simula, mababasa mo ang mga kaganapan habang ginagawa ang mga ito
naitala sa /tmp/lttng.

--shm-landas PATH

Path kung saan dapat gawin ang mga shared memory holding buffer. Kapaki-pakinabang kapag ginamit
na may PRAMFS o iba pang paulit-ulit na memory filesystem para kunin ang trace data
ang kaganapan ng isang pag-crash na nangangailangan ng pag-reboot.

Tingnan ang lttng-crash(1) utility para sa higit pang impormasyon sa pagbawi ng pag-crash.

-U, --set-url=URL
Itakda ang URL para sa destinasyon ng output ng consumer. Ito ay paulit-ulit para sa
habambuhay ng session. Gawin muli ang utos upang baguhin ito. Itatakda nito ang parehong data at
kontrolin ang URL para sa network.

-C, --ctrl-url=URL
Itakda ang control path URL. (Dapat ding gamitin -D)

-D, --data-url=URL
Itakda ang URL ng path ng data. (Dapat ding gamitin ang -C)

Gamit ang mga opsyong ito, maaaring kontrolin nang isa-isa ang bawat tawag sa API. Halimbawa, -C
hindi awtomatikong pinapagana ang mamimili. Kakailanganin mo ang -e na opsyon para doon.

URL FORMAT:

proto://[HOST|IP][:PORT1[:PORT2]][/TRACE_PATH]

Ang mga sinusuportahang protocol ay (proto):

file://...
Lokal na filesystem buong landas.

net://...
Gagamitin nito ang default na network transport layer na TCP para sa pareho
control (PORT1) at data port (PORT2). Ang mga default na port ay ayon sa pagkakabanggit
5342 at 5343. Tandaan na hindi pa sinusuportahan ang net[6]://.

tcp[6]://...
Magagamit lang nang magkasama ang -C at -D

TANDAAN: DAPAT nakalagay ang IPv6 address sa mga bracket na '[]' (rfc2732)

Mga HALIMBAWA:

# lttng lumikha -U net://192.168.1.42
Gumagamit ng TCP at mga default na port para sa ibinigay na patutunguhan.

# lttng lumikha -U net6://[fe80::f66d:4ff:fe53:d220]
Gumagamit ng TCP, mga default na port at IPv6.

# lttng lumikha ng s1 -U net://myhost.com:3229
Lumikha ng session s1 at itakda ang consumer nito sa myhost.com sa port 3229 para sa
control.

sirain [NAME] [OPSYON]
Sesyon ng pag-trace ng teardown

Libreng memorya sa session daemon at tracer side. Ito ay nawala!

Kung aalisin ang NAME, kukunin ang pangalan ng session mula sa .lttngrc file.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

-a, --lahat
Wasakin ang lahat ng session

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

paganahin-channel NAME[,NAME2,...] (-k | -u) [OPTIONS]
Paganahin ang pagsubaybay sa channel

Upang paganahin ang isang kaganapan, dapat mong paganahin ang parehong kaganapan at ang channel na naglalaman
ito.

If -oo, --session ay tinanggal, ang pangalan ng session ay kinuha mula sa .lttngrc file.

Eksaktong isa sa -k o -u ang dapat na tukuyin.

Mahalagang tandaan na kung ang isang partikular na uri ng mga buffer ay ginagamit, ang session ay gagana
itakda sa ganoong uri at lahat ng iba pang kasunod na channel ay kailangang magkaroon ng parehong uri.

Tandaan na sa sandaling ang session ay nagsimula at pinagana sa tracer side, ito ay
hindi na posible na paganahin ang isang bagong channel para sa session na iyon.

OPSYON:

-h, - Tumulong
Ipakita ang tulong na ito

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

-oo, --session NAME
Mag-apply sa pangalan ng session

-k, --kernel
Mag-apply sa kernel tracer

-ikaw, --userspace
Mag-apply sa user-space tracer

--i-discard
Itapon ang kaganapan kapag puno na ang mga subbuffer (default)

--patungan
Flight recorder mode: ino-overwrite ang mga event kapag puno na ang mga subbuffer. Ang numero
ng subbuffer ay dapat na 2 o higit pa.

--subbuf-size SIZE
Laki ng subbuffer sa byte {+k+M+G}. (default UST uid: 131072, UST pid:
4096, kernel: 262144, metadata: 4096) Na-round up sa susunod na kapangyarihan ng 2.

Ang pinakamababang laki ng subbuffer, para sa bawat tracer, ay ang max na halaga sa pagitan ng
default sa itaas at ang laki ng page ng system. Maaari mong ibigay ang utos na ito para makuha
ang kasalukuyang laki ng pahina sa iyong system: $ getconf LAKI NG PAHINA

--num-subbuf NUM
Bilang ng mga subbuffer. (default UST uid: 4, UST pid: 4, kernel: 4, metadata:
2) Na-round up sa susunod na kapangyarihan ng 2.

--switch-timer USEC
Ilipat ang pagitan ng subbuffer timer sa µsec. (default UST uid: 0, UST pid: 0,
kernel: 0, metadata: 0)

--read-timer USEC
Basahin ang agwat ng timer sa µsec. (default UST uid: 0, UST pid: 0, kernel:
200000, metadata: 0)

--output TYPE
Uri ng output ng channel. Mga posibleng value: mmap, splice (default UST uid: mmap,
UST pid: mmap, kernel: splice, metadata: mmap)

--buffers-uid
Gamitin sa bawat buffer ng UID (-u lang). Ang mga buffer ay ibinabahagi sa pagitan ng mga application na iyon
may parehong UID.

--buffers-pid
Gamitin bawat PID buffer (-u lang). Ang bawat application ay may sariling buffer.

--buffers-global
Gumamit ng nakabahaging buffer para sa buong system (-k lang)

-C, --laki ng tracefile SIZE
Pinakamataas na laki ng bawat tracefile sa loob ng isang stream (sa bytes). 0 ibig sabihin
walang limitasyon. (default: 0) Tandaan: ang mga bakas na nabuo gamit ang opsyong ito ay maaaring
hindi tumpak na mag-ulat ng mga itinapon na kaganapan mula sa CTF 1.8.

-W, --tracefile-count COUNT
Ginamit kasabay ng opsyong -C, lilimitahan nito ang bilang ng mga file
nilikha sa tinukoy na bilang. 0 ay nangangahulugang walang limitasyon. (default: 0)

Mga HALIMBAWA:

$ lttng enable-channel -k -C 4096 -W 32 chan1
Para sa bawat stream, ang maximum na laki ng bawat trace file ay magiging 4096 bytes at
magkakaroon ng maximum na 32 iba't ibang mga file. Ang bilang ng file ay idinagdag
pagkatapos ng stream number tulad ng makikita sa sumusunod na halimbawa. Ang huling bakas
Ang file ay mas maliit sa 4096 dahil hindi ito ganap na napunan.

~/lttng-traces/[...]/chan1_0_0 (4096)
~/lttng-traces/[...]/chan1_0_1 (4096)
~/lttng-traces/[...]/chan1_0_2 (3245)
~/lttng-traces/[...]/chan1_1_0 (4096)
...

$ lttng enable-channel -k -C 4096
Ito ay lilikha ng mga trace file na 4096 bytes at gagawa ng mga bago hangga't
dahil mayroong magagamit na data.

paganahin-kaganapan NAME[,NAME2,...] (-k | -u | -j | -l | -p) [OPSYON]
Paganahin ang pagsubaybay sa kaganapan

Palaging nakatalaga ang isang kaganapan sa pagsubaybay sa isang channel. Kung -c, --channel ay tinanggal, a
default na channel na pinangalanang 'channel0' ay nilikha at ang kaganapan ay idinagdag dito. Kung -c,
--channel ay tinanggal, ngunit mayroon nang hindi default na channel sa loob ng session,
may ibinalik na error. Para sa user-space tracer, gamit -a, --lahat ay pareho
gamit ang wildcard na "*".

If -oo, --session ay tinanggal, ang pangalan ng session ay kinuha mula sa .lttngrc file.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

-oo, --session NAME
Mag-apply sa pangalan ng session

-c, --channel NAME
Mag-apply sa pangalan ng channel

-a, --lahat
Paganahin ang lahat ng mga tracepoint at syscalls. Ito ay aktwal na nagbibigay-daan sa isang solong wildcard
kaganapan "*".

-k, --kernel
Mag-apply para sa kernel tracer

-ikaw, --userspace
Mag-apply para sa user-space tracer

-j, --jul
Mag-apply para sa Java application gamit ang Java Util Logging interface (JUL)

-l, --log4j
Mag-apply para sa Java application gamit ang LOG4J

-p, --sawa
Mag-apply para sa Python application gamit ang logging module.

--tracepoint
Tracepoint na kaganapan (default). Sinusuportahan ng userspace tracer ang mga wildcard sa dulo
ng string. Huwag kalimutang mag-quote upang harapin ang pagpapalawak ng bash. hal:
"*"
"app_component:na*"

--loglevel NAME
Tracepoint loglevel range mula 0 hanggang loglevel. Nakalista sa tulong (-h). Para sa
ang domain ng JUL, ang mga saklaw ng loglevel ay nakadetalye gamit ang --help na opsyon sa gayon
simula sa SEVERE hanggang FINEST. Para sa LOG4J domain, ang mga loglevel ay mula sa
FATAL to TRACE na nakadetalye din sa tulong. Para sa domain ng Python,
saklaw ng mga loglevel mula KRITIKAL hanggang DEBUG na detalyado sa tulong bilang
mabuti.

--loglevel-lamang NAME
Tracepoint loglevel (tanging ito loglevel). Ang loglevel o loglevel-only
ang mga opsyon ay dapat isama sa isang tracepoint name o tracepoint wildcard.

--probe (addr | simbolo | simbolo+offset)
Dynamic na probe. Ang addr at offset ay maaaring octal (0NNN...), decimal (NNN...) o
hexadecimal (0xNNN...)

--function (addr | simbolo | simbolo+offset)
Dynamic na function entry/return probe. Ang addr at offset ay maaaring octal (0NNN...),
decimal (NNN...) o hexadecimal (0xNNN...)

--syscall
Event ng system call.

--filter 'expression'
Magtakda ng filter sa isang bagong pinaganang kaganapan. I-filter ang expression sa mga field ng kaganapan at
konteksto. Ire-record ang kaganapan kung ang expression ng filter ay magiging
TOTOO. Tukuyin lamang sa unang pag-activate ng isang partikular na kaganapan sa loob ng isang session.
Ang pagtukoy ng filter ay pinapayagan lamang kapag pinapagana ang mga kaganapan sa loob ng isang session
bago simulan ang pagsubaybay. Kung nabigo ang filter na mag-link sa kaganapan sa loob
ang traced domain, ang kaganapan ay itatapon.

Mga halimbawa ng pagpapahayag:

'intfield > 500 && intfield < 503'
'(strfield == "test" || intfield != 10) && intfield > 33'
'doublefield > 1.1 && intfield < 5.3'

Pinapayagan ang mga wildcard sa dulo ng mga string:
'seqfield1 == "te*"' Sa string literals, ang escape character ay isang '\'.
Gamitin ang '\*' para sa '*' character, at '\\' para sa '\' character sequence.
Ang wildcard ay tumutugma sa anumang sequence ng mga character, kabilang ang isang walang laman na sub-string
(tumutugma sa 0 o higit pang mga character).

Maaaring gamitin ang impormasyon ng konteksto para sa pag-filter. Ipinapakita ng mga halimbawa sa ibaba
paggamit ng pagsasala ng konteksto sa pangalan ng proseso (gamit ang wildcard), proseso
hanay ng ID, at natatanging thread ID. Ang proseso at thread ID ng pagtakbo
ang mga application ay matatagpuan sa ilalim ng mga column na "PID" at "LWP" ng "ps -eLf"
utos.

'$ctx.procname == "demo*"'
'$ctx.vpid >= 4433 at& $ctx.vpid < 4455'
'$ctx.vtid == 1234'

Ang impormasyon ng konteksto ay magagamit sa lahat ng mga filter kahit na ang add-
context command ay ginamit upang idagdag ito sa channel ng kaganapan, hangga't
umiiral ang field ng konteksto para sa domain na iyon. Halimbawa, ang mga halimbawa ng filter
na ibinigay sa itaas ay hindi kailanman mabibigo sa link: walang karagdagang-konteksto ay kinakailangan para sa
channel ng kaganapan.

-x, --ibukod LIST
Magdagdag ng mga pagbubukod sa mga tracepoint ng UST: Mga kaganapang tumutugma sa alinman sa mga item sa
Ang LIST na pinaghihiwalay ng kuwit ay hindi pinagana, kahit na tumugma ang mga ito sa isang wildcard
kahulugan ng kaganapan.

Naaangkop din ang opsyong ito sa -a, --lahat opsyon, kung saan ang lahat
Pinagana ang mga tracepoint ng UST maliban sa mga pangalan na tumutugma sa alinman sa
aytem sa LIST.

huwag paganahin-channel NAME[,NAME2,...] (-k | -u) [OPTIONS]
Huwag paganahin ang pagsubaybay sa channel

Hindi pinapagana ng hindi pagpapagana ng channel ang pagsubaybay sa lahat ng kaganapan ng channel. Isang channel
maaaring muling paganahin sa pamamagitan ng pagtawag Lttng paganahin-channel NAME muli.

If -oo, --session ay tinanggal, ang pangalan ng session ay kinuha mula sa .lttngrc file.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

-oo, --session NAME
Mag-apply sa pangalan ng session

-k, --kernel
Mag-apply para sa kernel tracer

-ikaw, --userspace
Mag-apply para sa user-space tracer

disable-kaganapan NAME[,NAME2,...] (-k | -u | -j | -l | -p) [TYPE] [OPTIONS]
Huwag paganahin ang pagsubaybay sa kaganapan

Ang kaganapan, kapag na-disable, ay maaaring muling paganahin sa pamamagitan ng pagtawag Lttng paganahin-kaganapan NAME
muli.

If -oo, --session ay tinanggal, ang pangalan ng session ay kinuha mula sa .lttngrc file.

If -c, --channel ay tinanggal, ang default na pangalan ng channel ay ginagamit. Kung -c, --channel is
tinanggal, ngunit mayroon nang hindi default na channel sa loob ng session, may error
bumalik.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

-oo, --session NAME
Mag-apply sa pangalan ng session

-c, --channel NAME
Mag-apply sa pangalan ng channel

-a, --lahat ng mga kaganapan
Huwag paganahin ang lahat ng mga kaganapan. HINDI LAMANG hindi nito pinapagana ang "*" kundi ang bawat kilala
mga kaganapan sa sesyon

-k, --kernel
Mag-apply para sa kernel tracer

-ikaw, --userspace
Mag-apply para sa user-space tracer

-j, --jul
Mag-apply para sa Java application gamit ang Java Util Logging interface (JUL)

-l, --log4j
Mag-apply para sa Java application gamit ang LOG4J

-p, --sawa
Mag-apply para sa Python application gamit ang logging module

TYPE (kernel domain lamang):

--lahat Huwag paganahin ang kaganapan sa lahat ng uri

--tracepoint
Huwag paganahin ang kaganapan ng uri ng tracepoint

--syscall
Huwag paganahin ang kaganapan ng uri ng syscall

--probe
Huwag paganahin ang kaganapan ng uri ng probe

--function
Huwag paganahin ang kaganapan ng uri ng function

listahan [OPSYON] [SESSION [SESSION OPTIONS]]
Listahan ng pagsubaybay sa impormasyon ng session.

Nang walang mga argumento, ililista nito ang (mga) available na sesyon ng pagsubaybay.

Gamit ang pangalan ng session, ipapakita nito ang mga detalye ng session kasama ang
trace file path, ang mga nauugnay na channel at ang kanilang estado (na-activate at
na-deactivate), ang mga naka-activate na kaganapan at higit pa.

Sa -k lamang, ililista nito ang lahat ng magagamit na mga kaganapan sa kernel (maliban sa mga tawag sa system
mga pangyayari). Sa -j lamang, ang magagamit na kaganapan sa JUL mula sa nakarehistrong aplikasyon ay
maging listahan. Ang kaganapan ay tumutugma sa pangalan ng Logger sa Java JUL application.
Sa -l lamang, ang magagamit na kaganapan sa LOG4J mula sa nakarehistrong aplikasyon ay ililista.
Ang kaganapan ay tumutugma sa pangalan ng Logger sa Java LOG4J application. may -p
Mag-isa, ang magagamit na kaganapan sa Python mula sa nakarehistrong aplikasyon ay ilista. Ang
ang kaganapan ay tumutugma sa pangalan ng Logger sa Python application. Sa -u nag-iisa, ito
ililista ang lahat ng available na event ng user-space mula sa mga nakarehistrong application. Narito ang isang
halimbawa ng 'lttng list -u':

PID: 7448 - Pangalan: /tmp/lttng-ust/tests/hello/.libs/lt-hello
ust_tests_hello:tptest_sighandler (uri: tracepoint)
ust_tests_hello:tptest (uri: tracepoint)

Maaari mo na ngayong paganahin ang anumang kaganapang nakalista sa pamamagitan ng paggamit ng pangalan : ust_tests_hello:tptest.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

-k, --kernel
Pumili ng kernel domain

-ikaw, --userspace
Pumili ng domain ng user-space.

-j, --jul
Mag-apply para sa Java application gamit ang JUL

-l, --log4j
Mag-apply para sa Java application gamit ang LOG4J

-p, --sawa
Mag-apply para sa Python application gamit ang logging module.

-f, --mga patlang
Maglista ng mga field ng kaganapan

SESYON OPSYON:

-c, --channel NAME
Ilista ang mga detalye ng isang channel

-d, --domain
Ilista ang (mga) magagamit na domain

magkarga [OPSYON] [NAME]
I-load ang pagsasaayos ng session ng pagsubaybay

Kung aalisin ang NAME, makikita ang lahat ng configuration ng session sa parehong session ng user
direktoryo ng pagsasaayos (default: ~/.lttng/sessions/) at ang session ng system
Ang direktoryo ng pagsasaayos (default: /etc/lttng/sessions/) ay mailo-load. Tandaan na
ang mga session sa direktoryo ng gumagamit ay unang na-load at pagkatapos ay ang malawak na system
na-load ang direktoryo.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

-a, --lahat
I-load ang lahat ng mga configuration ng session (default).

-ako, --input-path PATH
Tukuyin ang input path para sa mga configuration ng session. Ino-override nito ang
default na direktoryo ng configuration ng session.

-f, --puwersa
I-overwrite ang kasalukuyang (mga) configuration ng session kung isang session na may parehong pangalan
mayroon na.

i-save ang [OPSYON] [SESSION]
I-save ang pagsubaybay sa configuration ng session

Kung aalisin ang SESSION, mase-save sa indibidwal ang lahat ng configuration ng session
.ltng mga file sa ilalim ng direktoryo ng configuration ng session ng user (default:
~/.lttng/sessions/). Ang default na pamamaraan ng pagpapangalan ng file ng configuration ng session ay
SESYON.lttng.

Halimbawa, ang isang user sa tracing group ay nagse-save ng session mula sa root session
Ise-save ito ng daemon sa kanyang direktoryo ng gumagamit.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

-a, --lahat
I-save ang lahat ng mga configuration ng session (default).

-o, --output path PATH
Tukuyin ang output path para sa mga naka-save na session. Ino-override nito ang default
direktoryo ng pagsasaayos ng session.

-f, --puwersa
I-overwrite ang file ng configuration ng session kung magkasalungat ang pangalan ng session.

set-session PANGALAN [OPTIONS]
Itakda ang kasalukuyang pangalan ng session

Papalitan ang pangalan ng session sa .lttngrc file.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

retrato [OPSYON] ACTION
Snapshot command para sa LTTng session.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

ACTION:

add-output [-m ] [-s ] [-n ] | -C -D

I-setup at magdagdag ng snapshot na output para sa isang session. Ang output ay ang patutunguhan
kung saan ipapadala ang snapshot. Isang output lang ang pinahihintulutan. Upang baguhin ito,
kakailanganin mong tanggalin ito at idagdag muli ang bago.

del-output ID | NAME [-s ]

Magtanggal ng output para sa isang session gamit ang ID ng output. Maaari mong tukuyin ang alinman
ang output ayon sa pangalan o gamitin ang ID nito bilang ibinalik ng list-output command.

listahan-output [-s ]

Ilista ang output ng isang session. Ang mga katangian ng output ay naka-print.

talaan [-m ] [-s ] [-n ] [ | -C -D ]

Snapshot ng (mga) buffer ng session para sa lahat ng domain. Kung may tinukoy na URL, ito
ay ginagamit sa halip na isang naunang idinagdag na output. Pagtukoy lamang ng isang pangalan o/at
ang isang max na laki ay i-override ang kasalukuyang mga halaga ng output. Halimbawa, maaari mo
mag-record ng snapshot na may custom na maximum na laki o may ibang pangalan.

$ lttng snapshot add-output -n mysnapshot file:///data/snapshot
[...]
$ lttng snapshot record -n new_name_snapshot

Ang nasa itaas ay lilikha ng snapshot sa /data/snapshot/new_name_snapshot*
direktoryo kaysa sa mysnapshot*/

DETALYE ACTION Opsyon

-oo, --session NAME
Ilapat sa pangalan ng session.

-n, --pangalan NAME
Pangalan ng output ng snapshot.

-m, --max-size SIZE
Pinakamataas na laki sa bytes ng snapshot. Ang maximum na laki ay hindi kasama ang
metadata file. Ang format na nababasa ng tao ay tinatanggap: {+k,+M,+G}. Halimbawa,
--max-size na 5M

-C, --ctrl-url URL
Itakda ang control path URL. (Dapat ding gamitin -D)

-D, --data-url URL
Itakda ang URL ng path ng data. (Dapat ding gamitin ang -C)

simula [NAME] [OPSYON]
Simulan ang pagsubaybay

Magsisimula itong mag-trace para sa lahat ng tracer para sa isang partikular na tracing session. Kung si NAME ay
tinanggal, ang pangalan ng session ay kinuha mula sa .lttngrc file.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

itigil [NAME] [OPSYON]
Itigil ang pagsubaybay

Ihihinto nito ang pagsubaybay para sa lahat ng mga tracer para sa isang partikular na sesyon ng pagsubaybay. dati
pagbabalik, sinusuri ng command ang pagkakaroon ng data na nangangahulugang maghihintay ito hanggang
ang bakas ay nababasa para sa session. Gamitin ang --no-wait para maiwasan ang pag-uugaling ito.

Kung aalisin ang NAME, kukunin ang pangalan ng session mula sa .lttngrc file.

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

--hindi-maghintay
Huwag maghintay para sa availability ng data.

subaybayan (-k | -u) --pid [PID1[,PID2[,...]]] [OPSYON]
Nagdaragdag ng isa o higit pang mga entry sa isang tracker

Ang subaybayan Ang command ay nagdaragdag ng isa o higit pang mga entry sa isang tracker. Ang tracker ay isang whitelist
ng mga mapagkukunan. Ang mga sinusubaybayang mapagkukunan ay pinapayagang maglabas ng mga kaganapan, kung ang mga kaganapang iyon
ay pinagana (tingnan ang paganahin-kaganapan utos).

Maaaring alisin ang mga entry ng tracker mula sa whitelist na may alisin sa track utos.

Sa bersyong ito, ang tanging available na tracker ay ang PID mangangaso. Ang ID ng proseso
(PID) tracker ay sumusunod sa isa o higit pang mga process ID; ang mga proseso lamang na may sinusubaybayan
Pinapayagan ang PID na maglabas ng mga kaganapan. Bilang default, lahat ng posibleng PID sa system ay
sinusubaybayan: anumang proseso ay maaaring maglabas ng mga pinaganang kaganapan (katumbas ng Lttng subaybayan --pid --lahat
para sa lahat ng domain).

Gamit ang PID tracker, posible, halimbawa, na i-record ang lahat ng mga tawag sa system
tinawag ng isang ibinigay na proseso:

$ lttng enable-event --kernel --all --syscall
$ lttng track --kernel --pid 2345
$ltng pagsisimula

Kung ang lahat ng mga PID ay sinusubaybayan (hal Lttng subaybayan --pid --lahat, na siyang default
estado ng lahat ng domain kapag gumagawa ng isang tracing session), pagkatapos ay ginagamit ang subaybayan utos
na may isa o higit pang partikular na mga PID ay may epekto ng unang pag-alis ng lahat ng mga PID mula sa
ang whitelist, pagkatapos ay idagdag ang mga tinukoy na PID.

Ipagpalagay na ang maximum na PID ay 7 para sa mga sumusunod na halimbawa:

Paunang whitelist: [0] [1] [2] [3] [4] [5] [6] [7]

$ lttng track --userspace --pid 3,6,7

Whitelist: [ ] [ ] [ ] [3] [ ] [ ] [6] [7]

$ lttng i-untrack --userspace --pid 7

Whitelist: [ ] [ ] [ ] [3] [ ] [ ] [6] [ ]

$ lttng track --userspace --pid 1,5

Whitelist: [ ] [1] [ ] [3] [ ] [5] [6] [ ]

Dapat tandaan na sinusubaybayan ng PID tracker ang mga numeric process ID. Dapat a
proseso na may ibinigay na ID exit at isa pang proseso ang bibigyan ng ID na ito, pagkatapos ay ang huli
papayagan din na maglabas ng mga kaganapan.

Tingnan ang alisin sa track dokumentasyon ng command para sa higit pang mga detalye tungkol sa pag-alis ng mga entry.

OPSYON:

-oo, --session NAME
Ilapat sa pangalan ng session.

-k, --kernel
Mag-apply sa kernel tracer.

-ikaw, --userspace
Mag-apply sa user space tracer.

-p, --pid [PIDS]
Subaybayan ang mga ID ng prosesong PIDS (idagdag sa whitelist).

Ang PIDS ay isang listahan ng mga PID na pinaghihiwalay ng kuwit na idaragdag sa PID tracker.

Dapat tanggalin ang argumento ng PIDS kapag ginagamit din ang --lahat pagpipilian.

-a, --lahat
Ginamit kasabay ng isang walang laman --pid opsyon: subaybayan ang lahat ng mga ID ng proseso (idagdag
lahat ng mga entry sa whitelist).

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

alisin sa track (-k | -u) --pid [PID1[,PID2[,...]]] [OPSYON]
Tinatanggal ang isa o higit pang mga entry mula sa isang tracker

Tingnan ang subaybayan dokumentasyon ng command para matuto pa tungkol sa mga LTTng tracker.

Ang alisin sa track Ang command ay nag-aalis ng mga partikular na mapagkukunan mula sa isang tracker. Ang mga mapagkukunan sa
ang alisin ay dapat na nauna nang idinagdag ng subaybayan utos. Pwede rin naman
upang alisin ang lahat ng mga mapagkukunan mula sa whitelist gamit ang --lahat pagpipilian.

Sa bersyong ito, ang tanging available na tracker ay ang PID mangangaso.

Ang isang karaniwang operasyon ay upang lumikha ng isang tracing session, alisin ang lahat ng mga entry mula sa
ang PID tracker whitelist, simulan ang pagsubaybay, at pagkatapos ay manu-manong subaybayan ang mga PID habang
aktibo ang pagsubaybay.

Ipagpalagay na ang maximum na PID ay 7 para sa mga sumusunod na halimbawa:

$lttng lumikha

Paunang whitelist: [0] [1] [2] [3] [4] [5] [6] [7]

$ lttng i-untrack --userspace --pid --lahat

Whitelist: [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]

$ lttng enable-event --userspace ...
$ltng pagsisimula
...
$ lttng track --userspace --pid 3,5

Whitelist: [ ] [ ] [ ] [3] [ ] [5] [ ] [ ]

$ lttng track --userspace --pid 2

Whitelist: [ ] [ ] [2] [3] [ ] [5] [ ] [ ]

Tingnan ang subaybayan dokumentasyon ng command para sa higit pang mga detalye tungkol sa pagdaragdag ng mga entry.

OPSYON:

-oo, --session NAME
Ilapat sa pangalan ng session.

-k, --kernel
Mag-apply sa kernel tracer.

-ikaw, --userspace
Mag-apply sa user space tracer.

-p, --pid [PIDS]
Ihinto ang pagsubaybay sa mga ID ng proseso ng PIDS (alisin sa whitelist).

Ang PIDS ay isang listahan ng mga PID na pinaghihiwalay ng kuwit na aalisin mula sa PID tracker.

Dapat tanggalin ang argumento ng PIDS kapag ginagamit din ang --lahat pagpipilian.

-a, --lahat
Ginamit kasabay ng isang walang laman --pid opsyon: ihinto ang pagsubaybay sa lahat ng proseso
Mga ID (alisin ang lahat ng mga entry sa whitelist).

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

bersyon
Ipakita ang impormasyon ng bersyon

OPSYON:

-h, - Tumulong
Ipakita ang buod ng mga posibleng opsyon at utos.

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

tingnan [SESSION_NAME] [OPSYON]
Tingnan ang mga bakas ng isang tracing session. Bilang default, ang babeltrace viewer ang gagamitin
para sa pagtingin sa teksto. Kung aalisin ang SESSION_NAME, kukunin ang pangalan ng session mula sa
.lttngrc file.

OPSYON:

-h, - Tumulong
Ipakita ang tulong na ito

--listahan-mga opsyon
Simpleng listahan ng mga opsyon

-t, --trace-landas PATH
Trace directory path para sa viewer

-e, --manonood CMD
Tukuyin ang viewer at/o mga opsyon na gagamitin Ito ay ganap na i-override ang
default na mga manonood kaya pakitiyak na tukuyin ang buong command. Ang bakas
ang path ng direktoryo ng session ay idaragdag sa dulo ng mga argumento

JUL/LOG4J DOMAIN


Ipinapaliwanag ng seksyong ito ang domain ng JUL at LOG4J kung saan ang ibig sabihin ng JUL ay Java Util Logging. Ikaw
maaaring gamitin ang mga ito sa pamamagitan ng paggamit ng liblttng-ust- -jni.so mula sa lttng-ust(3) proyekto.

Ang LTTng Java Agent ay gumagamit ng JNI para i-link ang UST tracer sa Java application na gumagamit ng
ahente. Kaya, ito ay kumikilos nang katulad sa UST domain (-u). Kapag pinapagana ang mga kaganapan, pinagana mo
isang pangalan ng Logger na pagkatapos ay imamapa sa isang default na UST tracepoint na tinatawag
lttng_jul: _kaganapan nasa lttng_ _channel. Gamit ang lttng-ctl API, anuman
Dapat gamitin ng mga event ng JUL/LOG4J ang uri ng tracepoint na kaganapan (katulad ng --tracepoint).

Dahil sa default na hindi nababagong channel, ang paganahin-channel utos ay HINDI maaaring gamitin sa
ang domain ng JUL at LOG4J kaya walang anumang mga pagpipilian.

Gayundin, sinusuportahan ang mga loglevel. Gamitin Lttng paganahin-kaganapan -h upang ilista ang mga ito. Ang mga wildcard ay HINDI
suportado maliban sa "*" na nangangahulugang lahat ng mga kaganapan (katulad ng -a).

Eksakto tulad ng UST domain, kung ang Java application ay may parehong UID gaya mo, magagawa mo
bakas ito. Parehong napupunta para sa tracing group na nag-a-access sa mga root application.

Sa wakas, maaari mong ilista ang bawat pangalan ng Logger na magagamit mula sa mga nakarehistrong aplikasyon hanggang
ang session daemon sa pamamagitan ng paggamit Lttng listahan -j or -l.

Narito ang isang halimbawa kung paano gamitin ang domain ng JUL.

$ lttng listahan -j
[...]
$lttng lumikha ng isangSession
$ lttng enable-event -s aSession -j MyCustomLoggerName
$ltng pagsisimula

Higit pang impormasyon ay matatagpuan sa lttng-ust na dokumentasyon, tingnan ang java-util-logging.txt

EXIT Mga halaga


Sa tagumpay 0 ay ibinalik at isang positibong halaga sa error. Ang halaga ng 1 ay nangangahulugang isang command error,
2 isang hindi natukoy na utos, 3 isang nakamamatay na pagkakamali at 4 isang utos na babala na nangangahulugang isang bagay
nagkamali sa panahon ng utos.

Anumang iba pang halaga na higit sa 10, mangyaring sumangguni sa para sa isang detalyadong listahan o paggamit
lttng_strerror() upang makakuha ng nababasang string ng error code ng tao.

Kapaligiran MGA VARIABLE


Tandaan na ang lahat ng opsyon sa command line ay nag-o-override sa mga variable ng kapaligiran.

LTTNG_SESSIOND_PATH
Nagbibigay-daan sa isa na tukuyin ang buong session ng daemon binary path sa lttng command line
kasangkapan. Maaari mo ring gamitin ang --sessiond-path na opsyon na may parehong epekto.

LTTNG_SESSION_CONFIG_XSD_PATH
Itakda ang landas kung saan ang session.xsd Maaaring matagpuan ang schema ng configuration ng session.

Gumamit ng lttng online gamit ang mga serbisyo ng onworks.net



Pinakabagong Linux at Windows online na mga programa