ນີ້ແມ່ນຄໍາສັ່ງ lttng ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
lttng - LTTng 2.x tracer control line command tool
ສະຫຼຸບສັງລວມ
lttng [ຕົວເລືອກ]
ລາຍລະອຽດ
ໂຄງການ LTTng ມີຈຸດປະສົງເພື່ອສະຫນອງເຄື່ອງມືຕິດຕາມປະສິດທິພາບສູງສໍາລັບ Linux. ຮ່ອງຮອຍຂອງມັນ
ຊ່ວຍຕິດຕາມບັນຫາການປະຕິບັດ ແລະບັນຫາການດີບັ໊ກທີ່ກ່ຽວຂ້ອງກັບຫຼາຍອັນພ້ອມກັນ
ຂະບວນການແລະກະທູ້. ການຕິດຕາມໃນຫຼາຍລະບົບກໍ່ເປັນໄປໄດ້.
ໄດ້ lttng ເຄື່ອງມືເສັ້ນຄໍາສັ່ງຈາກຊຸດ lttng-tools ຖືກນໍາໃຊ້ເພື່ອຄວບຄຸມທັງສອງ kernel
ແລະການຕິດຕາມພື້ນທີ່ຂອງຜູ້ໃຊ້. ທຸກປະຕິສໍາພັນກັບ tracer ຄວນຈະເຮັດໄດ້ໂດຍເຄື່ອງມືນີ້ຫຼື
ໂດຍຫ້ອງສະຫມຸດ liblttng-ctl ສະຫນອງໃຫ້ໂດຍຊຸດເຄື່ອງມື lttng.
LTTng ໃຊ້ session daemon (lttng-sessiond(8)), ເຮັດຫນ້າທີ່ເປັນການຈົດທະບຽນຕິດຕາມ, ທີ່
ອະນຸຍາດໃຫ້ທ່ານສາມາດພົວພັນກັບ tracers ຫຼາຍ (kernel ແລະ user-space) ພາຍໃນດຽວກັນ
container, a tracing session. ການຕິດຕາມສາມາດຖືກລວບລວມຈາກແກ່ນແລະ / ຫຼືເຄື່ອງມື
ຄໍາຮ້ອງສະຫມັກ (lttng-ust(3)). ການລວບລວມແລະການອ່ານຮ່ອງຮອຍເຫຼົ່ານັ້ນແມ່ນເຮັດໂດຍໃຊ້
babeltrace(1) ຕົວເບິ່ງຂໍ້ຄວາມ.
ພວກເຮົາແນະນໍາແນວຄວາມຄິດຂອງ tracing ໂດເມນ ເຊິ່ງເປັນສິ່ງຈໍາເປັນປະເພດຂອງ tracer (kernel,
ພື້ນທີ່ຜູ້ໃຊ້, JUL, LOG4J ຫຼື Python ສໍາລັບໃນປັດຈຸບັນ). ໃນອະນາຄົດ, ພວກເຮົາສາມາດເຫັນ tracer ຫຼາຍເຊັ່ນ
ສໍາລັບຕົວຢ່າງ, hypervisor. ສໍາລັບບາງຄໍາສັ່ງ, ທ່ານຈະຕ້ອງລະບຸວ່າໂດເມນໃດ
ຄໍາສັ່ງດໍາເນີນການ (-u, -k, -l, -j ຫຼື -p). ຕົວຢ່າງ, ໂດເມນແກ່ນຕ້ອງຖືກກໍານົດ
ເມື່ອເປີດໃຊ້ເຫດການ kernel.
ເພື່ອຕິດຕາມ kernel, session daemon ຈໍາເປັນຕ້ອງໄດ້ແລ່ນເປັນ root. LTTng
ສະຫນອງການນໍາໃຊ້ຂອງ a tracing ກຸ່ມ (ຄ່າເລີ່ມຕົ້ນ: ການຕິດຕາມ). ໃຜກໍຕາມທີ່ຢູ່ໃນກຸ່ມນັ້ນສາມາດ
ໂຕ້ຕອບກັບ daemon session ຮາກ ແລະດັ່ງນັ້ນຈຶ່ງຕິດຕາມ kernel. Session daemon ສາມາດຮ່ວມກັນ
ມີຢູ່, ຊຶ່ງຫມາຍຄວາມວ່າທ່ານສາມາດມີ session daemon ແລ່ນເປັນ Alice ທີ່ສາມາດຖືກນໍາໃຊ້ເພື່ອ
ຕິດຕາມຄໍາຮ້ອງສະຫມັກຂອງນາງພ້ອມກັບ daemon ຮາກຫຼືແມ້ກະທັ້ງ Bob daemon. ພວກເຮົາສູງ
ແນະນໍາໃຫ້ເລີ່ມຕົ້ນ session daemon ໃນເວລາ boot ສໍາລັບການຕິດຕາມທີ່ຫມັ້ນຄົງແລະໄລຍະຍາວ.
ແຕ່ລະຄໍາຮ້ອງສະຫມັກພື້ນທີ່ຜູ້ໃຊ້ເຄື່ອງມືທີ່ມີ lttng-ust(3) ຈະລົງທະບຽນອັດຕະໂນມັດ
ກັບ daemon session ຮາກແລະ daemon session ຜູ້ໃຊ້ຂອງມັນ. ນີ້ອະນຸຍາດໃຫ້ແຕ່ລະ daemon ລາຍຊື່
ຄໍາຮ້ອງສະຫມັກ traceable ແລະ tracepoints ທີ່ມີຢູ່ໃນປັດຈຸບັນໃດຫນຶ່ງ (ເບິ່ງ ບັນຊີລາຍຊື່
ຄໍາສັ່ງ).
OPTIONS
ໂປລແກລມນີ້ປະຕິບັດຕາມ syntax ເສັ້ນຄໍາສັ່ງ GNU ປົກກະຕິທີ່ມີຕົວເລືອກຍາວເລີ່ມຕົ້ນດ້ວຍສອງ
ຂີດ. ຂ້າງລຸ່ມນີ້ແມ່ນສະຫຼຸບຂອງທາງເລືອກທີ່ມີຢູ່.
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
-V, - ການປ່ຽນແປງ
ສະແດງສະບັບ.
- ໃນ, -- verbose
ເພີ່ມທະວີການ verbosity. ສາມລະດັບຂອງ verbosity ສາມາດໃຊ້ໄດ້ເຊິ່ງຖືກກະຕຸ້ນໂດຍ
ເອົາ v ເພີ່ມເຕີມໃສ່ທາງເລືອກ (-vv ຫຼື -vvv)
-q, --ງຽບ
ສະກັດກັ້ນຂໍ້ຄວາມທັງຫມົດ (ເຖິງແມ່ນວ່າຄວາມຜິດພາດ).
-g, --ກຸ່ມ NAME
ຕັ້ງຊື່ກຸ່ມຕິດຕາມ unix. (ຄ່າເລີ່ມຕົ້ນ: ຕິດຕາມ)
-n, -- ບໍ່ມີການປະຊຸມ
ຢ່າສ້າງເຊດຊັນ daemon ໂດຍອັດຕະໂນມັດ.
--session-ເສັ້ນທາງ PATH
ຕັ້ງຄ່າ session daemon ເສັ້ນທາງຄູ່ເຕັມ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ lttng.
--list-ຄໍາສັ່ງ
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງຄໍາສັ່ງ lttng.
-m, --ໄມ TYPE
ອິນເຕີເຟດເຄື່ອງຈັກ
ຮອງຮັບ TYPE: XML
ຮູບແບບການໂຕ້ຕອບເຄື່ອງ (MI) ປ່ຽນການພິມທີ່ສວຍງາມແບບດັ້ງເດີມເປັນເຄື່ອງຈັກ
syntax ຜົນຜະລິດ. ໂໝດ MI ສະໜອງຮູບແບບທີ່ທົນທານຕໍ່ການປ່ຽນແປງໃນການເຂົ້າເຖິງຂໍ້ມູນ
ສ້າງຂຶ້ນຜ່ານເສັ້ນຄໍາສັ່ງ lttng.
ເມື່ອໃຊ້ໂໝດ MI, ຂໍ້ມູນຈະຖືກພິມອອກ stdout. ພິມຂໍ້ຜິດພາດ ແລະເຕືອນໄພ
stderr ກັບຮູບແບບການພິມເລີ່ມຕົ້ນທີ່ສວຍງາມ.
ຖ້າຫາກວ່າຄວາມຜິດພາດໃດຫນຶ່ງເກີດຂຶ້ນໃນລະຫວ່າງການປະຕິບັດຂອງຄໍາສັ່ງ, ມູນຄ່າກັບຄືນມາຂອງ
ຄໍາສັ່ງຈະແຕກຕ່າງຈາກສູນ. ໃນກໍລະນີນີ້, lttng ບໍ່ໄດ້ຮັບປະກັນ
syntax ແລະຄວາມຖືກຕ້ອງຂອງຂໍ້ມູນຂອງຜົນຜະລິດ MI ທີ່ຜະລິດ.
ສໍາລັບປະເພດຜົນຜະລິດ XML, ໄຟລ໌ຄໍານິຍາມ schema (XSD) ທີ່ໃຊ້ສໍາລັບການກວດສອບສາມາດເປັນ
ພົບພາຍໃຕ້ src/common/mi_lttng.xsd
ສາມາດ
ເພີ່ມບໍລິບົດ [ຕົວເລືອກ]
ເພີ່ມບໍລິບົດໃສ່ເຫດການ ແລະ/ຫຼືຊ່ອງ.
ບໍລິບົດໂດຍພື້ນຖານແລ້ວແມ່ນຂໍ້ມູນພິເສດເພີ່ມເຕີມຕໍ່ກັບຊ່ອງໃດໜຶ່ງ. ສໍາລັບຕົວຢ່າງ, ທ່ານ
ສາມາດຂໍໃຫ້ຜູ້ຕິດຕາມເພີ່ມຂໍ້ມູນ PID ສໍາລັບເຫດການທັງໝົດໃນຊ່ອງໃດໜຶ່ງ. ເຈົ້າ
ຍັງສາມາດເພີ່ມຕົວນັບຫນ່ວຍຕິດຕາມກວດກາການປະຕິບັດ (perf PMU) ໂດຍໃຊ້ perf kernel
API
ຕົວຢ່າງ, ຄໍາສັ່ງນີ້ຈະເພີ່ມຂໍ້ມູນບໍລິບົດ 'prio' ແລະສອງຕໍ່ CPU
perf counters (ຂາດສາຂາຂອງຮາດແວແລະ cache misses), ກັບເຫດການທັງຫມົດທີ່ຢູ່ໃນການຕິດຕາມ
ຜົນຜະລິດຂໍ້ມູນ:
# lttng add-context -k -t prio -t perf:cpu:branch-misses \
-t perf:cpu:cache-misses
ກະລຸນາເບິ່ງການຊ່ວຍເຫຼືອ (-h/--help) ສໍາລັບລາຍການລາຍລະອຽດຂອງທີ່ມີຢູ່
ສະພາບການ.
Perf counters ສາມາດໃຊ້ໄດ້ເປັນຕໍ່ CPU ("perf:cpu:...") ແລະຕໍ່ກະທູ້
("perf: thread:...") ຕົວນັບ. ໃນປັດຈຸບັນ, ເຄົາເຕີຕໍ່ CPU ສາມາດຖືກນໍາໃຊ້ກັບເຄື່ອງໃຊ້
kernel tracing domain, ແລະ per-thread counters ສາມາດໃຊ້ໄດ້ກັບ UST ເທົ່ານັ້ນ
ໂດເມນການຕິດຕາມ.
ຖ້າບໍ່ມີຊ່ອງໃດຖືກໃຫ້ (-c), ບໍລິບົດຈະຖືກເພີ່ມໃສ່ທຸກຊ່ອງທີ່ແລ້ວ
ເປີດໃຊ້ງານ. ຖ້າເຊດຊັນບໍ່ມີຊ່ອງ, ຊ່ອງເລີ່ມຕົ້ນແມ່ນຖືກສ້າງຂຶ້ນ. ຖ້າບໍ່ດັ່ງນັ້ນ
ສະພາບການຈະຖືກເພີ່ມໃສ່ຊ່ອງທີ່ໃຫ້ (-c).
If - ແມ່ນແລ້ວ, --ກອງປະຊຸມ ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຖືກເອົາມາຈາກໄຟລ໌ .lttngrc.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
- ແມ່ນແລ້ວ, --ກອງປະຊຸມ NAME
ນຳໃຊ້ໃນຊື່ເຊດຊັນ.
-c, --ຊ່ອງ NAME
ນຳໃຊ້ໃນຊື່ຊ່ອງ.
-k, --kernel
ນຳໃຊ້ສຳລັບຕົວຕິດຕາມແກ່ນ
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ສະໝັກໃຊ້ຕົວຕິດຕາມພື້ນທີ່ຜູ້ໃຊ້
-t, --ປະເພດ TYPE
ປະເພດເນື້ອໃນ. ທ່ານສາມາດເຮັດເລື້ມຄືນທາງເລືອກນີ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງ. ກະລຸນາໃຊ້
"lttng add-context -h" ເພື່ອລາຍຊື່ປະເພດທີ່ມີຢູ່ທັງຫມົດ.
ສອບທຽບ [ຕົວເລືອກ]
Quantify LTTng overhead
ຄໍາສັ່ງ calibrate LTTng ສາມາດຖືກນໍາໃຊ້ເພື່ອຊອກຫາຄ່າສະເລ່ຍລວມ
ຂອງ LTTng tracer ແລະກົນໄກເຄື່ອງມືທີ່ໃຊ້. overhead ນີ້ສາມາດເຮັດໄດ້
calibrated ໃນເງື່ອນໄຂຂອງທີ່ໃຊ້ເວລາຫຼືການນໍາໃຊ້ໃດໆຂອງຕົວນັບປະສິດທິ PMU ທີ່ມີຢູ່
ໃນລະບົບ.
ສໍາລັບໃນປັດຈຸບັນ, ການປັບທຽບພຽງແຕ່ປະຕິບັດແມ່ນຫນ້າທີ່ຂອງແກ່ນ
ເຄື່ອງມື (kretprobes).
* Calibrate ເຄື່ອງມືການທໍາງານຂອງແກ່ນ
ໃຫ້ໃຊ້ຕົວຢ່າງເພື່ອສະແດງການປັບທຽບນີ້. ພວກເຮົາໃຊ້ໂປເຊດເຊີ i7 ກັບ 4
ການລົງທະບຽນ PMU ຈຸດປະສົງທົ່ວໄປ. ຂໍ້ມູນນີ້ສາມາດໃຊ້ໄດ້ໂດຍການອອກ dmesg,
ຊອກຫາ "ການລົງທະບຽນທົ່ວໄປ".
ລໍາດັບຂອງຄໍາສັ່ງນີ້ຈະລວບລວມການຕິດຕາມການປະຕິບັດ kretprobe ທີ່ຕິດຢູ່ກັບ.
ຟັງຊັນຫວ່າງເປົ່າ, ການລວບລວມ PMU counters LLC (Last Level Cache) ພາດຂໍ້ມູນ
(ເບິ່ງ lttng add-context --help ເພື່ອເບິ່ງລາຍຊື່ຕົວນັບ PMU ທີ່ມີຢູ່).
# lttng ສ້າງ 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-misses \
-t perf:cpu:LLC-prefetch-misses
# lttng ເລີ່ມຕົ້ນ
# ສໍາລັບ a in $(seq 1 10); ເຮັດ \
lttng calibrate --kernel --function;
ເຮັດ
# lttng ທໍາລາຍ
# babeltrace $(ls -1drt ~/lttng-traces/calibrate-function-* \
| ຫາງ -n 1)
ຜົນຜະລິດຈາກ babeltrace ສາມາດຖືກບັນທຶກໄວ້ໃນໄຟລ໌ຂໍ້ຄວາມແລະເປີດຢູ່ໃນຕາຕະລາງ
(ເຊັ່ນ: oocalc) ເພື່ອເນັ້ນໃສ່ per-PMU counter delta ລະຫວ່າງຕິດຕໍ່ກັນ
ເຫດການ "calibrate_entry" ແລະ "calibrate_return". ໃຫ້ສັງເກດວ່າເຄົາເຕີເຫຼົ່ານີ້ແມ່ນຕໍ່.
CPU, ດັ່ງນັ້ນການກໍານົດເວລາເຫດການຈະຕ້ອງມີຢູ່ໃນບັນຊີສໍາລັບການເຄື່ອນຍ້າຍລະຫວ່າງ
CPU. ດັ່ງນັ້ນ, ເພື່ອຈຸດປະສົງການປັບທຽບ, ພຽງແຕ່ເຫດການທີ່ຢູ່ໃນ CPU ດຽວກັນຕ້ອງ
ຖືກພິຈາລະນາ.
ຜົນໄດ້ຮັບສະເລ່ຍ, ສໍາລັບ i7, ໃນ 10 ຕົວຢ່າງ:
ສະເລ່ຍ 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
ດັ່ງທີ່ພວກເຮົາສາມາດສັງເກດເຫັນ, ການໂຫຼດແລະການເກັບມ້ຽນແມ່ນຂ້ອນຂ້າງຄົງທີ່ຕະຫຼອດການແລ່ນ
(ມາດຕະຖານ deviation ຂອງເຂົາເຈົ້າຂ້ອນຂ້າງຕໍ່າ) ເມື່ອທຽບກັບ prefetch misses. ພວກເຮົາ
ສາມາດສະຫຼຸບໄດ້ຈາກຂໍ້ມູນນີ້ວ່າການໂຫຼດ LLC ແລະເກັບຮັກສາ misses ສາມາດຖືກບັນຊີ
ສໍາລັບຂ້ອນຂ້າງຊັດເຈນ, ແຕ່ prefetches ພາຍໃນຫນ້າທີ່ເບິ່ງຄືວ່າຈະປະຕິບັດເຊັ່ນດຽວກັນ
erratically (ບໍ່ຫຼາຍ causality ເຊື່ອມຕໍ່ລະຫວ່າງລະຫັດປະຕິບັດແລະການ prefetch CPU
ກິດຈະກໍາ) ທີ່ຈະບັນຊີສໍາລັບການ.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
-k, --kernel
ນຳໃຊ້ສຳລັບຕົວຕິດຕາມແກ່ນ
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ສະໝັກໃຊ້ຕົວຕິດຕາມພື້ນທີ່ຜູ້ໃຊ້
-- ຟັງຊັນ
ຟັງຊັນໄດນາມິກເຂົ້າ/ສົ່ງຄືນ probe (ຄ່າເລີ່ມຕົ້ນ)
ສ້າງ [NAME] [ຕົວເລືອກ]
ສ້າງເຊດຊັນການຕິດຕາມ.
ເຊດຊັນການຕິດຕາມມີຊ່ອງທີ່ປະກອບດ້ວຍເຫດການ. ມັນເປັນໂດເມນ
agnostic, ຊຶ່ງຫມາຍຄວາມວ່າຊ່ອງທາງແລະເຫດການສາມາດຖືກເປີດໃຊ້ສໍາລັບຕົວຕິດຕາມພື້ນທີ່ຂອງຜູ້ໃຊ້
ແລະ/ຫຼື kernel tracer. ມັນເຮັດຫນ້າທີ່ຄືກັບຖັງເກັບລວບລວມການຕິດຕາມຫຼາຍອັນ
ແຫຼ່ງຂໍ້ມູນ.
ກ່ຽວກັບການສ້າງ, ກ .lttngrc ໄຟລ໌ຖືກສ້າງຂື້ນຢູ່ໃນໄດເລກະທໍລີ $HOME ຂອງທ່ານທີ່ປະກອບດ້ວຍ
ຊື່ເຊດຊັນປັດຈຸບັນ. ຖ້າ NAME ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຈະຖືກສ້າງໂດຍອັດຕະໂນມັດ
ມີແບບຟອມນີ້: 'auto-yyyymmdd-hhmmss'.
ຖ້າບໍ່ -o, -- ຜົນຜະລິດ ຖືກລະບຸໄວ້, ການຕິດຕາມຈະຖືກຂຽນໄວ້ໃນ $HOME/lttng-traces.
ຕົວແປສະພາບແວດລ້ອມ $HOME ສາມາດຖືກລົບລ້າງໂດຍການກຳນົດສະພາບແວດລ້ອມ
ຕົວປ່ຽນແປງ LTTNG_HOME. ອັນນີ້ເປັນປະໂຫຍດເມື່ອຜູ້ໃຊ້ແລ່ນຄຳສັ່ງນັ້ນມີອັນທີ່ບໍ່ເປັນ.
ປື້ມບັນທຶກບ້ານທີ່ສາມາດຂຽນໄດ້.
ຊື່ເຊສຊັນຈະຕ້ອງບໍ່ມີຕົວອັກສອນ '/'.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
-o, -- ຜົນຜະລິດ PATH
ລະບຸເສັ້ນທາງຜົນຜະລິດສໍາລັບການຕິດຕາມ
--no-output
ການຕິດຕາມຈະບໍ່ຖືກສົ່ງອອກ
--ພາບຖ່າຍ
ກໍານົດເຊດຊັນໃນໂຫມດ snapshot. ສ້າງຢູ່ໃນໂຫມດທີ່ບໍ່ມີຜົນຜະລິດແລະນໍາໃຊ້
URL, ຖ້າອັນໃດນຶ່ງຖືກລະບຸ, ເປັນຜົນອອກມາຂອງ snapshot ເລີ່ມຕົ້ນ. ທຸກໆຊ່ອງ
ຈະຖືກຕັ້ງຢູ່ໃນຮູບແບບຂຽນທັບແລະມີ mmap ຜົນຜະລິດ (ບໍ່ຮອງຮັບການ splice).
--ສົດ [USEC]
ຕັ້ງເຊດຊັນສະເພາະຢູ່ໃນໂໝດສົດ. ພາລາມິເຕີແມ່ນການຊັກຊ້າໃນ
ວິນາທີນ້ອຍໆກ່ອນທີ່ຂໍ້ມູນຈະຖືກລ້າງ ແລະຖ່າຍທອດ. ຮູບແບບສົດອະນຸຍາດໃຫ້
ທ່ານເພື່ອນ້ໍາການຕິດຕາມແລະເບິ່ງມັນໃນຂະນະທີ່ມັນໄດ້ຖືກບັນທຶກໂດຍການຕິດຕາມໃດໆ.
ສໍາລັບການນັ້ນ, ທ່ານຕ້ອງການ lttng-relayd ແລະກອງປະຊຸມນີ້ຕ້ອງການ URL ເຄືອຂ່າຍ
(-U ຫຼື -C/-D). ຖ້າບໍ່ມີການໃຫ້ USEC ຫຼື URL, ຄ່າເລີ່ມຕົ້ນແມ່ນໃຊ້ເຄື່ອງຈັບເວລາ
ຄ່າຕັ້ງເປັນ 1000000 ແລະ URL ເຄືອຂ່າຍຕັ້ງເປັນ net://127.0.0.1.
ເພື່ອອ່ານກອງປະຊຸມສົດ, ທ່ານສາມາດນໍາໃຊ້ babeltrace(1) ຫຼືການຖ່າຍທອດສົດ
ໂປຣໂຕຄໍໃນ doc/live-reading-protocol.txt. ນີ້ແມ່ນຕົວຢ່າງ:
$lttng-relayd -o /tmp/lttng
$lttng ສ້າງ --live 200000 -U net://localhost
$lttng enable-event -a --userspace
$ lttng ເລີ່ມຕົ້ນ
ຫຼັງຈາກການເລີ່ມຕົ້ນ, ທ່ານຈະສາມາດອ່ານເຫດການໃນຂະນະທີ່ພວກເຂົາເປັນ
ບັນທຶກໃນ /tmp/lttng.
--shm-ເສັ້ນທາງ PATH
ເສັ້ນທາງທີ່ຄວນສ້າງ buffers ຄວາມຊົງຈໍາທີ່ແບ່ງປັນ. ມີປະໂຫຍດເມື່ອໃຊ້
ກັບ PRAMFS ຫຼືລະບົບໄຟລ໌ຫນ່ວຍຄວາມຈໍາຄົງທີ່ອື່ນໆເພື່ອສະກັດຂໍ້ມູນການຕິດຕາມ
ກໍລະນີຂອງອຸປະຕິເຫດທີ່ຮຽກຮ້ອງໃຫ້ມີ reboot ໄດ້.
ເບິ່ງ lttng-crash(1) ຜົນປະໂຫຍດສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການຟື້ນຕົວອຸປະຕິເຫດ.
-U, --set-url=URL
ຕັ້ງ URL ສໍາລັບປາຍທາງຜົນຜະລິດຂອງຜູ້ບໍລິໂພກ. ມັນຄົງຢູ່ສໍາລັບການ
ຕະຫຼອດຊີວິດຂອງເຊດຊັນ. ເຮັດຄືນຄໍາສັ່ງເພື່ອປ່ຽນມັນ. ນີ້ຈະກໍານົດທັງຂໍ້ມູນແລະ
ຄວບຄຸມ URL ສໍາລັບເຄືອຂ່າຍ.
-C, --ctrl-url=URL
ຕັ້ງ URL ເສັ້ນທາງຄວບຄຸມ. (ຕ້ອງໃຊ້ -D ຄືກັນ)
-D, --data-url=URL
ຕັ້ງ URL ເສັ້ນທາງຂໍ້ມູນ. (ຕ້ອງໃຊ້ -C ຄືກັນ)
ການນໍາໃຊ້ທາງເລືອກເຫຼົ່ານີ້, ແຕ່ລະການໂທ API ສາມາດຄວບຄຸມເປັນສ່ວນບຸກຄົນ. ສໍາລັບຕົວຢ່າງ, -C
ບໍ່ໄດ້ເປີດໃຫ້ຜູ້ບໍລິໂພກອັດຕະໂນມັດ. ທ່ານຕ້ອງການທາງເລືອກ -e ສໍາລັບການນັ້ນ.
URL ຮູບແບບ:
proto://[HOST|IP][:PORT1[:PORT2]][/TRACE_PATH]
ໂປຣໂຕຄອນທີ່ຮອງຮັບແມ່ນ (proto):
file://...
ລະບົບໄຟລ໌ທ້ອງຖິ່ນເຕັມເສັ້ນທາງ.
ສຸດທິ //...
ນີ້ຈະໃຊ້ຊັ້ນການຂົນສົ່ງເຄືອຂ່າຍເລີ່ມຕົ້ນທີ່ເປັນ TCP ສໍາລັບທັງສອງ
ການຄວບຄຸມ (PORT1) ແລະພອດຂໍ້ມູນ (PORT2). ພອດເລີ່ມຕົ້ນຕາມລໍາດັບ
5342 ແລະ 5343. ໃຫ້ສັງເກດວ່າ net[6]:// ຍັງບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນ.
tcp[6]://...
ສາມາດໃຊ້ໄດ້ກັບ -C ແລະ -D ຮ່ວມກັນເທົ່ານັ້ນ
ໝາຍເຫດ: ທີ່ຢູ່ IPv6 ຕ້ອງຖືກໃສ່ໃນວົງເລັບ '[]' (rfc2732)
ຕົວຢ່າງ:
# lttng ສ້າງ -U net://192.168.1.42
ໃຊ້ TCP ແລະພອດເລີ່ມຕົ້ນສໍາລັບປາຍທາງທີ່ໃຫ້.
# lttng ສ້າງ -U net6://[fe80::f66d:4ff:fe53:d220]
ໃຊ້ TCP, ພອດເລີ່ມຕົ້ນ ແລະ IPv6.
# lttng ສ້າງ s1 -U net://myhost.com:3229
ສ້າງ session s1 ແລະກໍານົດຜູ້ບໍລິໂພກຂອງຕົນເປັນ myhost.com ໃນ port 3229 ສໍາລັບ
ຄວບຄຸມ.
ເຮັດລາຍ [NAME] [ຕົວເລືອກ]
ກອງປະຊຸມການຕິດຕາມ teardown
ຫນ່ວຍຄວາມຈໍາຟຣີຢູ່ໃນ daemon ເຊດຊັນແລະດ້ານ tracer. ມັນຫມົດໄປ!
ຖ້າ NAME ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຈະຖືກເອົາມາຈາກໄຟລ໌ .lttngrc.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
-ກ, --ທັງໝົດ
ທໍາລາຍເຊດຊັນທັງຫມົດ
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
ເປີດຊ່ອງທາງ NAME[,NAME2,...] (-k | -u) [ຕົວເລືອກ]
ເປີດໃຊ້ຊ່ອງທາງການຕິດຕາມ
ເພື່ອເປີດໃຊ້ງານໃດໜຶ່ງ, ທ່ານຕ້ອງເປີດໃຊ້ງານທັງເຫດການ ແລະຊ່ອງທີ່ບັນຈຸ
ມັນ.
If - ແມ່ນແລ້ວ, --ກອງປະຊຸມ ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຖືກເອົາມາຈາກໄຟລ໌ .lttngrc.
ຕ້ອງລະບຸຢ່າງແນ່ນອນຂອງ -k ຫຼື -u.
ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະສັງເກດວ່າຖ້າບາງປະເພດຂອງ buffers ຖືກນໍາໃຊ້, ກອງປະຊຸມຈະ
ຈະຖືກຕັ້ງດ້ວຍປະເພດນັ້ນ ແລະທຸກຊ່ອງທາງຕໍ່ໄປຈະຕ້ອງມີປະເພດດຽວກັນ.
ໃຫ້ສັງເກດວ່າເມື່ອກອງປະຊຸມໄດ້ຖືກເລີ່ມຕົ້ນແລະເປີດໃຊ້ໃນດ້ານ tracer, ມັນແມ່ນ
ບໍ່ສາມາດເປີດໃຊ້ຊ່ອງໃໝ່ສຳລັບເຊດຊັນນັ້ນໄດ້ອີກຕໍ່ໄປ.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງການຊ່ວຍເຫຼືອນີ້
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
- ແມ່ນແລ້ວ, --ກອງປະຊຸມ NAME
ນຳໃຊ້ໃນຊື່ເຊດຊັນ
-k, --kernel
ນຳໃຊ້ກັບຕົວຕິດຕາມແກ່ນ
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ນຳໃຊ້ກັບຕົວຕິດຕາມພື້ນທີ່ຜູ້ໃຊ້
--ຖິ້ມ
ຍົກເລີກເຫດການເມື່ອ subbuffers ເຕັມ (ຄ່າເລີ່ມຕົ້ນ)
--ຂຽນທັບ
ໂໝດເຄື່ອງບັນທຶກຖ້ຽວບິນ: ຂຽນທັບເຫດການເມື່ອມີບັຟເຟີເຕັມ. ຈໍານວນ
ຂອງ subbuffer ຕ້ອງມີ 2 ຫຼືຫຼາຍກວ່ານັ້ນ.
--subbuf-size ຫລືຂະຫຍາຍໂຕ
ຂະໜາດຍ່ອຍເປັນໄບຕ໌ {+k,+M,+G}. (ຄ່າເລີ່ມຕົ້ນ UST uid: 131072, UST pid:
4096, kernel: 262144, metadata: 4096) ຮອບເຖິງພະລັງງານຕໍ່ໄປຂອງ 2.
ຂະໜາດ subbuffer ຕໍາ່ສຸດ, ສໍາລັບແຕ່ລະ tracer, ແມ່ນຄ່າສູງສຸດລະຫວ່າງ
ຄ່າເລີ່ມຕົ້ນຂ້າງເທິງແລະຂະຫນາດຂອງຫນ້າລະບົບ. ທ່ານສາມາດອອກຄໍາສັ່ງນີ້ເພື່ອໃຫ້ໄດ້ຮັບ
ຂະໜາດໜ້າປັດຈຸບັນໃນລະບົບຂອງເຈົ້າ: $ getconf PAGE_SIZE
--num-subbuf NUMBER
ຈໍານວນຂອງ subbuffers. (ຄ່າເລີ່ມຕົ້ນ UST uid: 4, UST pid: 4, kernel: 4, metadata:
2) ຈ່ ງົ ຈ່ ງົ ຈ່ ງົ ຖ່ ກື ຕອ້ ງໃສ່ 2.
--switch-timer USEC
ສະຫຼັບຊ່ວງເວລາຕົວຈັບເວລາຍ່ອຍໃນ µsec. (ຄ່າເລີ່ມຕົ້ນ UST uid: 0, UST pid: 0,
kernel: 0, metadata: 0)
--ເຄື່ອງຈັບເວລາອ່ານ USEC
ອ່ານຊ່ວງເວລາຈັບເວລາເປັນ µsec. (ຄ່າເລີ່ມຕົ້ນ UST uid: 0, UST pid: 0, kernel:
200000, metadata: 0)
-- ຜົນຜະລິດ TYPE
ປະເພດຜົນຜະລິດຊ່ອງ. ຄ່າທີ່ເປັນໄປໄດ້: mmap, splice (ຄ່າເລີ່ມຕົ້ນ UST uid: mmap,
UST pid: mmap, kernel: splice, metadata: mmap)
--buffers-uid
ໃຊ້ຕໍ່ UID buffer (-u ເທົ່ານັ້ນ). Buffers ຖືກແບ່ງປັນລະຫວ່າງແອັບພລິເຄຊັນທີ່
ມີ UID ດຽວກັນ.
--buffers-pid
ໃຊ້ຕໍ່ PID buffer (-u ເທົ່ານັ້ນ). ແຕ່ລະແອັບພລິເຄຊັນມີ buffers ຂອງຕົນເອງ.
--buffers-global
ໃຊ້ buffer ທີ່ໃຊ້ຮ່ວມກັນສໍາລັບລະບົບທັງຫມົດ (-k ເທົ່ານັ້ນ)
-C, --tracefile-size ຫລືຂະຫຍາຍໂຕ
ຂະໜາດສູງສຸດຂອງແຕ່ລະ tracefile ພາຍໃນກະແສ (ເປັນໄບຕ໌). 0 ຫມາຍຄວາມວ່າ
ບໍ່ຈຳກັດ. (ຄ່າເລີ່ມຕົ້ນ: 0) ໝາຍເຫດ: ການຕິດຕາມທີ່ສ້າງຂຶ້ນດ້ວຍຕົວເລືອກນີ້ອາດຈະ
ລາຍງານເຫດການທີ່ຖືກຍົກເລີກຢ່າງບໍ່ຖືກຕ້ອງຕາມ CTF 1.8.
-W, --tracefile-ນັບ ນັບ
ໃຊ້ຮ່ວມກັບທາງເລືອກ -C, ນີ້ຈະຈໍາກັດຈໍານວນຂອງໄຟລ໌
ສ້າງເປັນຈໍານວນທີ່ລະບຸໄວ້. 0 ຫມາຍຄວາມວ່າບໍ່ຈໍາກັດ. (ຄ່າເລີ່ມຕົ້ນ: 0)
ຕົວຢ່າງ:
$lttng enable-channel -k -C 4096 -W 32 chan1
ສໍາລັບແຕ່ລະການຖ່າຍທອດ, ຂະຫນາດສູງສຸດຂອງແຕ່ລະໄຟລ໌ຕິດຕາມຈະເປັນ 4096 bytes ແລະ
ຈະມີສູງສຸດ 32 ໄຟລ໌ທີ່ແຕກຕ່າງກັນ. ຈຳນວນໄຟລ໌ຖືກຕໍ່ທ້າຍ
ຫຼັງຈາກເລກສະຕຣີມຕາມທີ່ເຫັນໃນຕົວຢ່າງຕໍ່ໄປນີ້. ຮອຍສຸດທ້າຍ
ໄຟລ໌ມີຂະຫນາດນ້ອຍກວ່າ 4096 ເນື່ອງຈາກມັນຍັງບໍ່ໄດ້ເຕັມໄປຫມົດ.
~/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
ນີ້ຈະສ້າງໄຟລ໌ trace ຂອງ 4096 bytes ແລະຈະສ້າງອັນໃຫມ່ດົນນານ
ຍ້ອນວ່າມີຂໍ້ມູນທີ່ມີຢູ່.
ເປີດໃຊ້ງານ - event NAME[,NAME2,...] (-k | -u | -j | -l | -p) [ຕົວເລືອກ]
ເປີດໃຊ້ເຫດການການຕິດຕາມ
ເຫດການການຕິດຕາມຖືກມອບໝາຍໃຫ້ຊ່ອງໃດໜຶ່ງສະເໝີ. ຖ້າ -c, --ຊ່ອງ ຖືກລະເວັ້ນ, ກ
ຊ່ອງເລີ່ມຕົ້ນຊື່ 'channel0' ຖືກສ້າງຂື້ນແລະເຫດການຖືກເພີ່ມໃສ່ມັນ. ຖ້າ -c,
--ຊ່ອງ ຖືກລະເວັ້ນ, ແຕ່ຊ່ອງທີ່ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນມີຢູ່ແລ້ວພາຍໃນເຊດຊັນ,
ຂໍ້ຜິດພາດຖືກສົ່ງຄືນ. ສໍາລັບການຕິດຕາມຜູ້ໃຊ້ຊ່ອງ, ການນໍາໃຊ້ -ກ, --ທັງໝົດ ແມ່ນຄືກັນກັບ
ໂດຍໃຊ້ຕົວແທນ "*".
If - ແມ່ນແລ້ວ, --ກອງປະຊຸມ ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຖືກເອົາມາຈາກໄຟລ໌ .lttngrc.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
- ແມ່ນແລ້ວ, --ກອງປະຊຸມ NAME
ນຳໃຊ້ໃນຊື່ເຊດຊັນ
-c, --ຊ່ອງ NAME
ນຳໃຊ້ໃນຊື່ຊ່ອງ
-ກ, --ທັງໝົດ
ເປີດໃຊ້ທຸກຈຸດຕິດຕາມ ແລະ syscalls. ອັນນີ້ເຮັດໃຫ້ເປັນຕົວແທນອັນດຽວ
ເຫດການ "*".
-k, --kernel
ນຳໃຊ້ສຳລັບຕົວຕິດຕາມແກ່ນ
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ສະໝັກໃຊ້ຕົວຕິດຕາມພື້ນທີ່ຜູ້ໃຊ້
-j, -- ກໍລະກົດ
ສະໝັກໃຊ້ Java ໂດຍໃຊ້ Java Util Logging interface (JUL)
-l, --log4j
ສະໝັກໃຊ້ Java ໂດຍໃຊ້ LOG4J
-p, -- python
ສະຫມັກຂໍເອົາຄໍາຮ້ອງສະຫມັກ Python ໂດຍໃຊ້ໂມດູນບັນທຶກ.
--ຈຸດຕິດຕາມ
ເຫດການ Tracepoint (ຄ່າເລີ່ມຕົ້ນ). Userspace tracer ຮອງຮັບ wildcards ໃນຕອນທ້າຍ
ຂອງ string. ຢ່າລືມອ້າງອີງເພື່ອຈັດການກັບການຂະຫຍາຍຕົວ bash. ຕົວຢ່າງ:
"*"
"app_component: na*"
--loglevel NAME
Tracepoint ລະດັບ loglevel ຈາກ 0 ຫາລະດັບ log. ລະບຸໄວ້ໃນການຊ່ວຍເຫຼືອ (-h). ສໍາລັບ
ໂດເມນ JUL, ລະດັບ loglevel ແມ່ນລາຍລະອຽດດ້ວຍຕົວເລືອກ --help ດັ່ງນັ້ນ
ເລີ່ມຈາກ SEVERE ຫາ FINEST. ສໍາລັບໂດເມນ LOG4J, loglevels ຕັ້ງແຕ່
FATAL to TRACE ເຊິ່ງມີລາຍລະອຽດຢູ່ໃນການຊ່ວຍເຫຼືອ. ສໍາລັບໂດເມນ Python,
loglevels ຕັ້ງແຕ່ CRITICAL ເຖິງ DEBUG ທີ່ມີລາຍລະອຽດໃນການຊ່ວຍເຫຼືອ
ດີ.
--loglevel-ເທົ່ານັ້ນ NAME
ລະດັບບັນທຶກ Tracepoint (ພຽງແຕ່ລະດັບບັນທຶກນີ້). ລະດັບລະບົບຫຼືລະດັບລະດັບການເທົ່ານັ້ນ
ທາງເລືອກຄວນຖືກລວມເຂົ້າກັບຊື່ tracepoint ຫຼື tracepoint wildcard.
-- ສືບສວນ (ຕື່ມ | ສັນຍາລັກ | ສັນຍາລັກ + ຊົດເຊີຍ)
ການສືບສວນແບບໄດນາມິກ. Addr ແລະ offset ສາມາດເປັນເລກແປດ (0NNN...), ທົດສະນິຍົມ (NNN...) ຫຼື
ເລກຖານສິບຫົກ (0xNNN...)
-- ຟັງຊັນ (ຕື່ມ | ສັນຍາລັກ | ສັນຍາລັກ + ຊົດເຊີຍ)
ການສືບສວນການເຂົ້າ / ສົ່ງຄືນຟັງຊັນແບບເຄື່ອນໄຫວ. Addr ແລະ offset ສາມາດເປັນເລກແປດ (0NNN...),
ເລກທົດສະນິຍົມ (NNN...) ຫຼືເລກຖານສິບຫົກ (0xNNN...)
--syscall
ເຫດການການໂທລະບົບ.
--ການກັ່ນຕອງ 'ການສະແດງອອກ'
ຕັ້ງຕົວກອງໃນເຫດການທີ່ເປີດໃຊ້ໃຫມ່. ກັ່ນຕອງການສະແດງອອກໃນຊ່ອງຂໍ້ມູນເຫດການ ແລະ
ສະພາບການ. ເຫດການດັ່ງກ່າວຈະຖືກບັນທຶກໄວ້ຖ້າການສະແດງອອກຂອງຕົວກອງປະເມີນເຖິງ
ຄວາມຈິງ. ລະບຸພຽງແຕ່ການເປີດໃຊ້ງານຄັ້ງທຳອິດຂອງເຫດການໃດໜຶ່ງພາຍໃນເຊດຊັນ.
ການລະບຸຕົວກອງແມ່ນອະນຸຍາດເມື່ອເປີດໃຊ້ງານພາຍໃນເຊດຊັນເທົ່ານັ້ນ
ກ່ອນທີ່ຈະເລີ່ມຕົ້ນການຕິດຕາມ. ຖ້າຕົວກອງລົ້ມເຫລວໃນການເຊື່ອມໂຍງກັບເຫດການພາຍໃນ
ໂດເມນທີ່ຕິດຕາມ, ເຫດການຈະຖືກຍົກເລີກ.
ຕົວຢ່າງການສະແດງອອກ:
'intfield> 500 && intfield < 503'
'(strfield == "ທົດສອບ" || intfield != 10) && intfield > 33'
'doublefield> 1.1 && intfield < 5.3'
ຕົວແທນແມ່ນອະນຸຍາດໃຫ້ຢູ່ໃນຕອນທ້າຍຂອງສະຕຣິງ:
'seqfield1 == "te*"' ໃນຕົວໜັງສືສະຕຣິງ, ຕົວໜັງສືໜີແມ່ນ '\'.
ໃຊ້ '\*' ສໍາລັບຕົວອັກສອນ '*', ແລະ '\\' ສໍາລັບລໍາດັບຕົວອັກສອນ '\'.
Wildcard ກົງກັບລໍາດັບຂອງຕົວອັກສອນ, ລວມທັງສາຍຍ່ອຍທີ່ຫວ່າງເປົ່າ
(ກົງກັບ 0 ຕົວອັກສອນ ຫຼືຫຼາຍກວ່ານັ້ນ).
ຂໍ້ມູນບໍລິບົດສາມາດຖືກນໍາໃຊ້ເພື່ອການກັ່ນຕອງ. ຕົວຢ່າງຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນ
ການນໍາໃຊ້ຂອງການກັ່ນຕອງສະພາບການກ່ຽວກັບຊື່ຂະບວນການ (ການນໍາໃຊ້ຕົວແທນ), ຂະບວນການ
ຊ່ວງ ID, ແລະ ID ກະທູ້ທີ່ບໍ່ຊໍ້າກັນ. ຂະບວນການ ແລະໄອດີກະທູ້ຂອງການແລ່ນ
ແອັບພລິເຄຊັນສາມາດພົບໄດ້ພາຍໃຕ້ຖັນ "PID" ແລະ "LWP" ຂອງ "ps -eLf"
ຄໍາສັ່ງ.
'$ctx.procname == "ຕົວຢ່າງ*"'
'$ctx.vpid >= 4433 && $ctx.vpid < 4455'
'$ctx.vtid == 1234'
ຂໍ້ມູນສະເພາະແມ່ນມີໃຫ້ກັບການກັ່ນຕອງທັງຫມົດບໍ່ວ່າຈະເປັນ add-
ຄໍາສັ່ງບໍລິບົດໄດ້ຖືກໃຊ້ເພື່ອເພີ່ມມັນໃສ່ຊ່ອງຂອງເຫດການ, ຕາບໃດທີ່
ຊ່ອງຂໍ້ມູນມີຢູ່ສໍາລັບໂດເມນນັ້ນ. ຕົວຢ່າງ, ຕົວຢ່າງການກັ່ນຕອງ
ທີ່ໃຫ້ໄວ້ຂ້າງເທິງຈະບໍ່ລົ້ມເຫລວໃນການເຊື່ອມໂຍງ: ບໍ່ມີ add-context ແມ່ນຈໍາເປັນສໍາລັບ
ຊ່ອງທາງເຫດການ.
-x, --ຍົກເວັ້ນ LIST
ເພີ່ມການຍົກເວັ້ນຕໍ່ກັບ UST tracepoints: ເຫດການທີ່ກົງກັບລາຍການໃດນຶ່ງໃນ
ລາຍຊື່ທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດບໍ່ໄດ້ຖືກເປີດໃຊ້, ເຖິງແມ່ນວ່າພວກມັນຈະກົງກັບຕົວແທນ
ຄໍານິຍາມຂອງເຫດການ.
ທາງເລືອກນີ້ຍັງໃຊ້ໄດ້ກັບ -ກ, --ທັງໝົດ ທາງເລືອກ, ໃນກໍລະນີນີ້ທັງຫມົດ
UST tracepoints ຖືກເປີດໃຊ້ ຍົກເວັ້ນຊື່ທີ່ກົງກັບອັນໃດນຶ່ງ
ລາຍການໃນ LIST.
ປິດຊ່ອງ NAME[,NAME2,...] (-k | -u) [ຕົວເລືອກ]
ປິດການໃຊ້ງານຊ່ອງທາງການຕິດຕາມ
ການປິດການໃຊ້ງານຊ່ອງຈະປິດການຕິດຕາມເຫດການທັງໝົດຂອງຊ່ອງ. ຊ່ອງ
ສາມາດໄດ້ຮັບການເປີດໃຊ້ໃຫມ່ໂດຍການໂທຫາ lttng ເປີດຊ່ອງທາງ NAME ອີກເທື່ອຫນຶ່ງ.
If - ແມ່ນແລ້ວ, --ກອງປະຊຸມ ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຖືກເອົາມາຈາກໄຟລ໌ .lttngrc.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
- ແມ່ນແລ້ວ, --ກອງປະຊຸມ NAME
ນຳໃຊ້ໃນຊື່ເຊດຊັນ
-k, --kernel
ນຳໃຊ້ສຳລັບຕົວຕິດຕາມແກ່ນ
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ສະໝັກໃຊ້ຕົວຕິດຕາມພື້ນທີ່ຜູ້ໃຊ້
disable-ເຫດການ NAME[,NAME2,...] (-k | -u | -j | -l | -p) [TYPE] [ຕົວເລືອກ]
ປິດການທໍາງານການຕິດຕາມເຫດການ
ເຫດການດັ່ງກ່າວ, ເມື່ອປິດໃຊ້ງານແລ້ວ, ສາມາດເປີດໃຊ້ຄືນໄດ້ໂດຍການໂທຫາ lttng ເປີດໃຊ້ງານ - event NAME
ອີກເທື່ອຫນຶ່ງ.
If - ແມ່ນແລ້ວ, --ກອງປະຊຸມ ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຖືກເອົາມາຈາກໄຟລ໌ .lttngrc.
If -c, --ຊ່ອງ ຖືກລະເວັ້ນ, ຊື່ຊ່ອງເລີ່ມຕົ້ນຖືກໃຊ້. ຖ້າ -c, --ຊ່ອງ is
ຖືກລະເວັ້ນ, ແຕ່ຊ່ອງທີ່ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນມີຢູ່ແລ້ວພາຍໃນເຊດຊັນ, ຂໍ້ຜິດພາດແມ່ນ
ກັບຄືນມາ.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
- ແມ່ນແລ້ວ, --ກອງປະຊຸມ NAME
ນຳໃຊ້ໃນຊື່ເຊດຊັນ
-c, --ຊ່ອງ NAME
ນຳໃຊ້ໃນຊື່ຊ່ອງ
-ກ, --ເຫດການທັງໝົດ
ປິດການໃຊ້ງານເຫດການທັງໝົດ. ນີ້ບໍ່ພຽງແຕ່ປິດການທໍາງານ "*" ແຕ່ທຸກສິ່ງທີ່ຮູ້ຈັກ
ເຫດການຂອງກອງປະຊຸມ
-k, --kernel
ນຳໃຊ້ສຳລັບຕົວຕິດຕາມແກ່ນ
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ສະໝັກໃຊ້ຕົວຕິດຕາມພື້ນທີ່ຜູ້ໃຊ້
-j, -- ກໍລະກົດ
ສະໝັກໃຊ້ Java ໂດຍໃຊ້ Java Util Logging interface (JUL)
-l, --log4j
ສະໝັກໃຊ້ Java ໂດຍໃຊ້ LOG4J
-p, -- python
ສະຫມັກຂໍເອົາຄໍາຮ້ອງສະຫມັກ Python ໂດຍໃຊ້ໂມດູນບັນທຶກ
TYPE (ແກ່ນ ໂດເມນ ເທົ່ານັ້ນ):
--ທັງໝົດ ປິດການໃຊ້ງານເຫດການທຸກປະເພດ
--ຈຸດຕິດຕາມ
ປິດການໃຊ້ງານເຫດການຂອງປະເພດ tracepoint
--syscall
ປິດການໃຊ້ງານເຫດການຂອງປະເພດ syscall
-- ສືບສວນ
ປິດການໃຊ້ງານເຫດການຂອງການສືບສວນປະເພດ
-- ຟັງຊັນ
ປິດການໃຊ້ງານເຫດການຂອງຟັງຊັນປະເພດ
ບັນຊີລາຍຊື່ [ຕົວເລືອກ] [Session [ຕົວເລືອກ Session]]
ລາຍຊື່ຂໍ້ມູນເຊດຊັນການຕິດຕາມ.
ໂດຍບໍ່ມີການໂຕ້ແຍ້ງ, ມັນຈະລາຍຊື່ເຊດຊັນການຕິດຕາມທີ່ມີຢູ່.
ດ້ວຍຊື່ຂອງກອງປະຊຸມ, ມັນຈະສະແດງລາຍລະອຽດຂອງກອງປະຊຸມລວມທັງ
trace ເສັ້ນທາງໄຟລ໌, ຊ່ອງທາງທີ່ກ່ຽວຂ້ອງແລະສະຖານະຂອງເຂົາເຈົ້າ (ເປີດໃຊ້ງານແລະ
deactivated), ເຫດການ activated ແລະອື່ນໆອີກ.
ດ້ວຍ -k ດຽວ, ມັນຈະລາຍຊື່ເຫດການ kernel ທີ່ມີຢູ່ທັງຫມົດ (ຍົກເວັ້ນການໂທລະບົບ
ເຫດການ). ດ້ວຍ -j ດຽວ, ເຫດການ JUL ທີ່ມີຢູ່ຈາກຄໍາຮ້ອງສະຫມັກທີ່ລົງທະບຽນຈະ
ເປັນບັນຊີລາຍຊື່. ເຫດການດັ່ງກ່າວກົງກັບຊື່ Logger ໃນແອັບພລິເຄຊັນ Java JUL.
ດ້ວຍ -l ຢ່າງດຽວ, ເຫດການ LOG4J ທີ່ມີຢູ່ຈາກຄໍາຮ້ອງສະຫມັກທີ່ລົງທະບຽນຈະເປັນບັນຊີລາຍຊື່.
ເຫດການດັ່ງກ່າວກົງກັບຊື່ Logger ໃນແອັບພລິເຄຊັນ Java LOG4J. ກັບ -p
ຢ່າງດຽວ, ເຫດການ Python ທີ່ມີຢູ່ຈາກຄໍາຮ້ອງສະຫມັກທີ່ລົງທະບຽນຈະເປັນບັນຊີລາຍຊື່. ໄດ້
ເຫດການກົງກັບຊື່ Logger ໃນແອັບພລິເຄຊັນ Python. ດ້ວຍ -u ດຽວ, ມັນ
ຈະລາຍຊື່ເຫດການພື້ນທີ່ຜູ້ໃຊ້ທີ່ມີຢູ່ທັງໝົດຈາກແອັບພລິເຄຊັນທີ່ລົງທະບຽນ. ນີ້ແມ່ນ
ຕົວຢ່າງຂອງ 'lttng list -u':
PID: 7448 - ຊື່: /tmp/lttng-ust/tests/hello/.libs/lt-hello
ust_tests_hello:tptest_sighandler (ປະເພດ: tracepoint)
ust_tests_hello:tptest (ປະເພດ: tracepoint)
ດຽວນີ້ເຈົ້າສາມາດເປີດໃຊ້ງານຕ່າງໆທີ່ມີລາຍຊື່ໂດຍການໃຊ້ຊື່: ust_tests_hello:tptest.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
-k, --kernel
ເລືອກໂດເມນ kernel
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ເລືອກໂດເມນພື້ນທີ່ຜູ້ໃຊ້.
-j, -- ກໍລະກົດ
ສະໝັກໃຊ້ Java ໂດຍໃຊ້ JUL
-l, --log4j
ສະໝັກໃຊ້ Java ໂດຍໃຊ້ LOG4J
-p, -- python
ສະຫມັກຂໍເອົາຄໍາຮ້ອງສະຫມັກ Python ໂດຍໃຊ້ໂມດູນບັນທຶກ.
-f, -- ທົ່ງນາ
ລາຍຊື່ຊ່ອງເຫດການ
ບົດຮຽນ ທາງເລືອກ:
-c, --ຊ່ອງ NAME
ລາຍຊື່ລາຍລະອຽດຂອງຊ່ອງ
-d, --ໂດເມນ
ລາຍຊື່ໂດເມນທີ່ມີຢູ່
load [ຕົວເລືອກ] [NAME]
ໂຫຼດການຕັ້ງຄ່າເຊດຊັນການຕິດຕາມ
ຖ້າ NAME ຖືກລະເວັ້ນ, ການຕັ້ງຄ່າເຊດຊັນທັງໝົດທີ່ພົບເຫັນຢູ່ໃນທັງສອງເຊດຊັນຂອງຜູ້ໃຊ້
ໄດເລກະທໍລີການຕັ້ງຄ່າ (ຄ່າເລີ່ມຕົ້ນ: ~/.lttng/sessions/) ແລະກອງປະຊຸມລະບົບ
ໄດເຣັກທໍຣີການຕັ້ງຄ່າ (ຄ່າເລີ່ມຕົ້ນ: /etc/lttng/sessions/) ຈະຖືກໂຫລດ. ໃຫ້ສັງເກດວ່າ
ເຊດຊັນໃນໄດເລກະທໍລີຜູ້ໃຊ້ຖືກໂຫລດກ່ອນແລະຫຼັງຈາກນັ້ນລະບົບກວ້າງ
ໄດເລກະທໍລີຖືກໂຫລດ.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
-ກ, --ທັງໝົດ
ໂຫຼດການຕັ້ງຄ່າເຊສຊັນທັງໝົດ (ຄ່າເລີ່ມຕົ້ນ).
-i, --ເສັ້ນທາງການປ້ອນຂໍ້ມູນ PATH
ລະບຸເສັ້ນທາງການປ້ອນຂໍ້ມູນສໍາລັບການຕັ້ງຄ່າເຊດຊັນ. ນີ້ overrides ໄດ້
ໄດເຣັກທໍຣີການຕັ້ງຄ່າເຊສຊັນເລີ່ມຕົ້ນ.
-f, --ກຳລັງ
ຂຽນທັບການຕັ້ງຄ່າເຊດຊັນປັດຈຸບັນ ຖ້າເຊສຊັນທີ່ມີຊື່ດຽວກັນ
ມີຢູ່ແລ້ວ.
save [ຕົວເລືອກ] [Session]
ບັນທຶກການຕັ້ງຄ່າເຊດຊັນການຕິດຕາມ
ຖ້າ SESSION ຖືກລະເວັ້ນ, ການຕັ້ງຄ່າເຊສຊັນທັງໝົດຈະຖືກບັນທຶກເປັນບຸກຄົນ
.ltng ໄຟລ໌ພາຍໃຕ້ໄດເຣັກທໍຣີການຕັ້ງຄ່າເຊສຊັນຂອງຜູ້ໃຊ້ (ຄ່າເລີ່ມຕົ້ນ:
~/.lttng/sessions/). ໂຄງການຕັ້ງຊື່ໄຟລ໌ເຊດຊັນເລີ່ມຕົ້ນແມ່ນ
SESSION.lttng.
ຕົວຢ່າງ, ຜູ້ໃຊ້ໃນກຸ່ມຕິດຕາມບັນທຶກເຊດຊັນຈາກເຊດຊັນຮາກ
daemon ຈະບັນທຶກມັນໄວ້ໃນບັນຊີຜູ້ໃຊ້ຂອງນາງ.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
-ກ, --ທັງໝົດ
ບັນທຶກການຕັ້ງຄ່າເຊສຊັນທັງໝົດ (ຄ່າເລີ່ມຕົ້ນ).
-o, -- ເສັ້ນທາງອອກ PATH
ລະບຸເສັ້ນທາງຜົນຜະລິດສໍາລັບເຊດຊັນທີ່ບັນທຶກໄວ້. ອັນນີ້ overrides ຄ່າເລີ່ມຕົ້ນ
ໄດເລກະທໍລີການຕັ້ງຄ່າເຊດຊັນ.
-f, --ກຳລັງ
ຂຽນທັບໄຟລ໌ການຕັ້ງຄ່າເຊສຊັນຖ້າຊື່ເຊດຊັນຂັດກັນ.
ກອງປະຊຸມ ຊື່ [ຕົວເລືອກ]
ຕັ້ງຊື່ເຊດຊັນປັດຈຸບັນ
ຈະປ່ຽນຊື່ເຊດຊັນໃນໄຟລ໌ .lttngrc.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
snapshot [ຕົວເລືອກ] ປະຕິບັດ
ຄໍາສັ່ງ Snapshot ສໍາລັບເຊດຊັນ LTTng.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
ກິດຈະ ກຳ:
ເພີ່ມຜົນຜະລິດ [-ມ ] [-ສ ] [-ນ ] | -ຄ -D
ຕັ້ງຄ່າ ແລະເພີ່ມຜົນອອກມາຂອງພາບຖ່າຍສຳລັບເຊດຊັນ. ຜົນຜະລິດແມ່ນຈຸດຫມາຍປາຍທາງ
ບ່ອນທີ່ພາບຖ່າຍຈະຖືກສົ່ງໄປ. ອະນຸຍາດພຽງແຕ່ຫນຶ່ງຜົນຜະລິດ. ເພື່ອປ່ຽນມັນ,
ທ່ານຈະຕ້ອງລຶບມັນອອກ ແລະເພີ່ມອັນໃໝ່ຄືນ.
del-output ID | NAME [-s ]
ລຶບອອກສໍາລັບເຊດຊັນໂດຍໃຊ້ ID ຂອງຜົນໄດ້ຮັບ. ເຈົ້າສາມາດລະບຸໄດ້
ຜົນຜະລິດໂດຍຊື່ຫຼືນໍາໃຊ້ ID ຂອງຕົນທີ່ສົ່ງກັບໂດຍຄໍາສັ່ງ list-output.
ລາຍການຜົນຜະລິດ [-ສ ]
ບອກຜົນໄດ້ຮັບຂອງເຊດຊັນ. ຄຸນລັກສະນະຂອງຜົນຜະລິດໄດ້ຖືກພິມອອກ.
ການບັນທຶກ [-ມ ] [-ສ ] [-ນ ] [ | -ຄ -D ]
Snapshot buffer ຂອງ session (s) ສໍາລັບໂດເມນທັງຫມົດ. ຖ້າ URL ຖືກລະບຸ, ມັນ
ຖືກໃຊ້ແທນຜົນຜະລິດທີ່ເພີ່ມເຂົ້າກ່ອນໜ້ານີ້. ລະບຸພຽງແຕ່ຊື່ ຫຼື/ແລະ
ຂະຫນາດສູງສຸດຈະແທນທີ່ຄ່າຜົນຜະລິດໃນປັດຈຸບັນ. ສໍາລັບຕົວຢ່າງ, ທ່ານສາມາດເຮັດໄດ້
ບັນທຶກພາບຖ່າຍດ້ວຍຂະໜາດສູງສຸດທີ່ກຳນົດເອງ ຫຼືດ້ວຍຊື່ອື່ນ.
$lttng snapshot add-output -n ໄຟລ໌ mysnapshot ///data/snapshot
[ ... ]
$lttng snapshot record -n new_name_snapshot
ຂ້າງເທິງຈະສ້າງພາບຖ່າຍໃນ /data/snapshot/new_name_snapshot*
ໄດເລກະທໍລີແທນທີ່ຈະຢູ່ໃນ mysnapshot*/
ລາຍລະອຽດ ACTION OPTIONS
- ແມ່ນແລ້ວ, --ກອງປະຊຸມ NAME
ນຳໃຊ້ກັບຊື່ເຊດຊັນ.
-n, --ຊື່ NAME
ຊື່ຜົນຜະລິດຂອງພາບຖ່າຍ.
-m, --ຂະໜາດສູງສຸດ ຫລືຂະຫຍາຍໂຕ
ຂະໜາດສູງສຸດເປັນໄບຕ໌ຂອງພາບຖ່າຍ. ຂະຫນາດສູງສຸດບໍ່ລວມເອົາ
ໄຟລ໌ metadata. ຮູບແບບທີ່ມະນຸດອ່ານໄດ້ແມ່ນຍອມຮັບ: {+k,+M,+G}. ຕົວຢ່າງ,
--ຂະໜາດສູງສຸດ 5M
-C, --ctrl-url URL
ຕັ້ງ URL ເສັ້ນທາງຄວບຄຸມ. (ຕ້ອງໃຊ້ -D ຄືກັນ)
-D, --data-url URL
ຕັ້ງ URL ເສັ້ນທາງຂໍ້ມູນ. (ຕ້ອງໃຊ້ -C ຄືກັນ)
ການເລີ່ມຕົ້ນ [NAME] [ຕົວເລືອກ]
ເລີ່ມການຕິດຕາມ
ມັນຈະເລີ່ມການຕິດຕາມສຳລັບຜູ້ຕິດຕາມທັງໝົດສຳລັບເຊດຊັນການຕິດຕາມສະເພາະ. ຖ້າ NAME ແມ່ນ
ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຖືກເອົາມາຈາກໄຟລ໌ .lttngrc.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
ຢຸດ [NAME] [ຕົວເລືອກ]
ຢຸດການຕິດຕາມ
ມັນຈະຢຸດການຕິດຕາມສຳລັບຜູ້ຕິດຕາມທັງໝົດສຳລັບເຊດຊັນການຕິດຕາມສະເພາະ. ກ່ອນ
ກັບຄືນ, ຄໍາສັ່ງກວດສອບການມີຂໍ້ມູນຫມາຍຄວາມວ່າມັນຈະລໍຖ້າຈົນກ່ວາ
ການຕິດຕາມແມ່ນສາມາດອ່ານໄດ້ສໍາລັບກອງປະຊຸມ. ໃຊ້ --no- wait ເພື່ອຫຼີກເວັ້ນການປະພຶດນີ້.
ຖ້າ NAME ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຈະຖືກເອົາມາຈາກໄຟລ໌ .lttngrc.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
--ບໍ່ຕ້ອງລໍຖ້າ
ຢ່າລໍຖ້າຄວາມພ້ອມຂອງຂໍ້ມູນ.
ຕິດຕາມ (-k | -u) --pid [PID1[,PID2[,...]]] [ຕົວເລືອກ]
ເພີ່ມໜຶ່ງ ຫຼືຫຼາຍລາຍການໃສ່ຕົວຕິດຕາມ
ໄດ້ ຕິດຕາມ ຄຳສັ່ງເພີ່ມໜຶ່ງ ຫຼືຫຼາຍລາຍການໃສ່ຕົວຕິດຕາມ. ຕົວຕິດຕາມແມ່ນບັນຊີຂາວ
ຂອງຊັບພະຍາກອນ. ຊັບພະຍາກອນທີ່ຕິດຕາມໄດ້ຖືກອະນຸຍາດໃຫ້ປ່ອຍເຫດການ, ໃຫ້ເຫດການເຫຼົ່ານັ້ນ
ຖືກເປີດໃຊ້ງານ (ເບິ່ງ ເປີດໃຊ້ງານ - event ຄໍາສັ່ງ).
ລາຍການຕິດຕາມສາມາດຖືກໂຍກຍ້າຍອອກຈາກບັນຊີຂາວດ້ວຍ ບໍ່ຕິດຕາມ ຄໍາສັ່ງ.
ໃນຖານະເປັນສະບັບນີ້, ມີພຽງແຕ່ບົບຕິດຕາມລຸດແມ່ນ ອັກເສບທ້ອງນ້ອຍ ບົບຕິດຕາມລຸດ. ID ຂະບວນການ
(PID) ບົບຕິດຕາມລຸດປະຕິບັດຕາມຫນຶ່ງຫຼືຫຼາຍກວ່າ ID ຂະບວນການ; ພຽງແຕ່ຂະບວນການທີ່ມີການຕິດຕາມ
PID ແມ່ນອະນຸຍາດໃຫ້ປ່ອຍເຫດການ. ໂດຍຄ່າເລີ່ມຕົ້ນ, PIDs ທີ່ເປັນໄປໄດ້ທັງຫມົດໃນລະບົບແມ່ນ
ຕິດຕາມ: ຂະບວນການໃດຫນຶ່ງອາດຈະປ່ອຍເຫດການທີ່ເປີດໃຊ້ງານ (ທຽບເທົ່າຂອງ lttng ຕິດຕາມ --pid --ທັງໝົດ
ສໍາລັບໂດເມນທັງຫມົດ).
ດ້ວຍຕົວຕິດຕາມ PID, ມັນເປັນໄປໄດ້, ສໍາລັບການຍົກຕົວຢ່າງ, ເພື່ອບັນທຶກການໂທລະບົບທັງຫມົດ
ຮຽກຮ້ອງໂດຍຂະບວນການໄດ້ຮັບ:
$lttng enable-event --kernel --all --syscall
$lttng ຕິດຕາມ --kernel --pid 2345
$ lttng ເລີ່ມຕົ້ນ
ຖ້າ PIDs ທັງຫມົດຖືກຕິດຕາມ (ie lttng ຕິດຕາມ --pid --ທັງໝົດ, ຊຶ່ງເປັນຄ່າເລີ່ມຕົ້ນ
ສະຖານະຂອງໂດເມນທັງໝົດໃນເວລາສ້າງ tracing session), ຈາກນັ້ນໃຊ້ the ຕິດຕາມ ຄໍາສັ່ງ
ກັບ PIDs ສະເພາະຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນມີຜົນກະທົບຂອງການຖອນ PIDs ທັງຫມົດອອກຈາກທໍາອິດ
ບັນຊີຂາວ, ຫຼັງຈາກນັ້ນເພີ່ມ PIDs ທີ່ກໍານົດໄວ້.
ສົມມຸດວ່າ PID ສູງສຸດແມ່ນ 7 ສໍາລັບຕົວຢ່າງຕໍ່ໄປນີ້:
ບັນຊີຂາວເບື້ອງຕົ້ນ: [0] [1] [2] [3] [4] [5] [6] [7]
$lttng ຕິດຕາມ --userspace --pid 3,6,7
ບັນຊີຂາວ: [ ] [ ] [ ] [3] [ ] [ ] [6] [7]
$lttng untrack --userspace --pid 7
ບັນຊີຂາວ: [ ] [ ] [ ] [3] [ ] [ ] [6] [ ]
$lttng ຕິດຕາມ --userspace --pid 1,5
ບັນຊີຂາວ: [ ] [1] [ ] [3] [ ] [5] [6] [ ]
ຄວນສັງເກດວ່າຕົວຕິດຕາມ PID ຕິດຕາມ IDs ຂະບວນການຕົວເລກ. ຄວນ ກ
ຂະບວນການທີ່ມີການອອກ ID ທີ່ໄດ້ມອບໃຫ້ແລະຂະບວນການອື່ນແມ່ນໃຫ້ ID ນີ້, ຫຼັງຈາກນັ້ນຕໍ່ໄປ
ຍັງຈະຖືກອະນຸຍາດໃຫ້ປ່ອຍເຫດການ.
ເບິ່ງ ບໍ່ຕິດຕາມ ເອກະສານຄໍາສັ່ງສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບການເອົາລາຍການອອກ.
ທາງເລືອກ:
- ແມ່ນແລ້ວ, --ກອງປະຊຸມ NAME
ນຳໃຊ້ກັບຊື່ເຊດຊັນ.
-k, --kernel
ນຳໃຊ້ກັບຕົວຕິດຕາມແກ່ນ.
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ນຳໃຊ້ກັບຕົວຕິດຕາມພື້ນທີ່ຜູ້ໃຊ້.
-p, --pid [PIDS]
ຕິດຕາມ IDs ຂະບວນການ PIDS (ເພີ່ມໃສ່ບັນຊີຂາວ).
PIDS ແມ່ນລາຍການທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງ PID ເພື່ອເພີ່ມໃສ່ຕົວຕິດຕາມ PID.
PIDS argument ຕ້ອງຖືກລະເວັ້ນເມື່ອໃຊ້ --ທັງໝົດ ທາງເລືອກ.
-ກ, --ທັງໝົດ
ໃຊ້ຮ່ວມກັບຫວ່າງເປົ່າ --pid ທາງເລືອກ: ຕິດຕາມ ID ຂະບວນການທັງໝົດ (ເພີ່ມ
ບັນຊີທັງຫມົດໃນບັນຊີຂາວ).
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
ບໍ່ຕິດຕາມ (-k | -u) --pid [PID1[,PID2[,...]]] [ຕົວເລືອກ]
ລຶບໜຶ່ງ ຫຼືຫຼາຍລາຍການອອກຈາກຕົວຕິດຕາມ
ເບິ່ງ ຕິດຕາມ ເອກະສານຄໍາສັ່ງເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບ LTTng trackers.
ໄດ້ ບໍ່ຕິດຕາມ ຄໍາສັ່ງເອົາຊັບພະຍາກອນສະເພາະຈາກຕົວຕິດຕາມ. ຊັບພະຍາກອນທີ່ຈະ
ເອົາ ຕ້ອງ ໄດ້ ຮັບ ການ ເພີ່ມ ກ່ອນ ກ່ອນ ຫນ້າ ນີ້ ໂດຍ ຕິດຕາມ ຄໍາສັ່ງ. ມັນກໍ່ເປັນໄປໄດ້
ເພື່ອເອົາຊັບພະຍາກອນທັງໝົດອອກຈາກບັນຊີຂາວໂດຍໃຊ້ --ທັງໝົດ ທາງເລືອກ.
ໃນຖານະເປັນສະບັບນີ້, ມີພຽງແຕ່ບົບຕິດຕາມລຸດແມ່ນ ອັກເສບທ້ອງນ້ອຍ ບົບຕິດຕາມລຸດ.
ຫນຶ່ງໃນການດໍາເນີນງານທົ່ວໄປແມ່ນເພື່ອສ້າງກອງປະຊຸມຕິດຕາມ, ເອົາລາຍການທັງຫມົດອອກຈາກ
ບັນຊີຂາວຕົວຕິດຕາມ PID, ເລີ່ມຕົ້ນການຕິດຕາມ, ແລະຫຼັງຈາກນັ້ນຕິດຕາມ PIDs ດ້ວຍຕົນເອງໃນຂະນະທີ່
ການຕິດຕາມມີການເຄື່ອນໄຫວ.
ສົມມຸດວ່າ PID ສູງສຸດແມ່ນ 7 ສໍາລັບຕົວຢ່າງຕໍ່ໄປນີ້:
$lttng ສ້າງ
ບັນຊີຂາວເບື້ອງຕົ້ນ: [0] [1] [2] [3] [4] [5] [6] [7]
$lttng untrack --userspace --pid --all
ບັນຊີຂາວ: [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
$lttng enable-event --userspace ...
$ lttng ເລີ່ມຕົ້ນ
...
$lttng ຕິດຕາມ --userspace --pid 3,5
ບັນຊີຂາວ: [ ] [ ] [ ] [3] [ ] [5] [ ] [ ]
$lttng ຕິດຕາມ --userspace --pid 2
ບັນຊີຂາວ: [ ] [ ] [2] [3] [ ] [5] [ ] [ ]
ເບິ່ງ ຕິດຕາມ ເອກະສານຄໍາສັ່ງສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບການເພີ່ມລາຍການ.
ທາງເລືອກ:
- ແມ່ນແລ້ວ, --ກອງປະຊຸມ NAME
ນຳໃຊ້ກັບຊື່ເຊດຊັນ.
-k, --kernel
ນຳໃຊ້ກັບຕົວຕິດຕາມແກ່ນ.
-u, --ພື້ນທີ່ຜູ້ໃຊ້
ນຳໃຊ້ກັບຕົວຕິດຕາມພື້ນທີ່ຜູ້ໃຊ້.
-p, --pid [PIDS]
ຢຸດການຕິດຕາມຂະບວນການ IDs PIDS (ເອົາອອກຈາກບັນຊີຂາວ).
PIDS ແມ່ນລາຍການທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງ PIDs ເພື່ອເອົາອອກຈາກຕົວຕິດຕາມ PID.
PIDS argument ຕ້ອງຖືກລະເວັ້ນເມື່ອໃຊ້ --ທັງໝົດ ທາງເລືອກ.
-ກ, --ທັງໝົດ
ໃຊ້ຮ່ວມກັບຫວ່າງເປົ່າ --pid ທາງເລືອກ: ຢຸດການຕິດຕາມຂະບວນການທັງຫມົດ
IDs (ລຶບລາຍການທັງໝົດອອກຈາກບັນຊີຂາວ).
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
ສະບັບພາສາ
ສະແດງຂໍ້ມູນສະບັບ
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກທີ່ເປັນໄປໄດ້ແລະຄໍາສັ່ງ.
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
ເບິ່ງ [SESSION_NAME] [ຕົວເລືອກ]
ເບິ່ງການຕິດຕາມຂອງເຊດຊັນການຕິດຕາມ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຕົວເບິ່ງ babeltrace ຈະຖືກນໍາໃຊ້
ສໍາລັບການເບິ່ງຂໍ້ຄວາມ. ຖ້າ SESSION_NAME ຖືກລະເວັ້ນ, ຊື່ເຊດຊັນຈະຖືກເອົາມາຈາກ
ໄຟລ໌ .lttngrc.
ທາງເລືອກ:
-ຊ, - ຊ່ວຍ
ສະແດງການຊ່ວຍເຫຼືອນີ້
--list-options
ບັນຊີລາຍຊື່ງ່າຍດາຍຂອງທາງເລືອກ
-t, --trace-ເສັ້ນທາງ PATH
ຕິດຕາມເສັ້ນທາງໄດເລກະທໍລີສໍາລັບ viewer
-e, --ຜູ້ເບິ່ງ CMD
ລະບຸຕົວເບິ່ງ ແລະ/ຫຼື ທາງເລືອກທີ່ຈະໃຊ້ ອັນນີ້ຈະເປັນການລົບລ້າງທັງໝົດ
ຜູ້ຊົມເລີ່ມຕົ້ນດັ່ງນັ້ນກະລຸນາໃຫ້ແນ່ໃຈວ່າໄດ້ລະບຸຄໍາສັ່ງເຕັມ. ຮ່ອງຮອຍ
ເສັ້ນທາງໄດເລກະທໍລີຂອງເຊດຊັນຈະຖືກຕໍ່ທ້າຍໃນຕອນທ້າຍຂອງການໂຕ້ຖຽງ
JUL/LOG4J DOMAIN
ພາກນີ້ອະທິບາຍໂດເມນ JUL ແລະ LOG4J ທີ່ JUL ຫຍໍ້ມາຈາກ Java Util Logging. ເຈົ້າ
ສາມາດນໍາໃຊ້ເຫຼົ່ານີ້ໂດຍການນໍາໃຊ້ liblttng-ust- -jni.so ຈາກ lttng-ust(3) ໂຄງການ.
ຕົວແທນ Java LTTng ໃຊ້ JNI ເພື່ອເຊື່ອມຕໍ່ UST tracer ກັບແອັບພລິເຄຊັນ Java ທີ່ໃຊ້
ຕົວແທນ. ດັ່ງນັ້ນ, ມັນປະຕິບັດຄ້າຍຄືກັນກັບໂດເມນ UST (-u). ເມື່ອເປີດໃຊ້ເຫດການ, ທ່ານເປີດໃຊ້ງານ
ຊື່ Logger ທີ່ຫຼັງຈາກນັ້ນຈະຖືກສ້າງແຜນທີ່ເປັນຈຸດເລີ່ມຕົ້ນ UST tracepoint ເອີ້ນວ່າ
lttng_jul: _ເຫດການ ໃນ lttng_ _ຊ່ອງ. ການນໍາໃຊ້ lttng-ctl API, ໃດ
ເຫດການ JUL/LOG4J ຕ້ອງໃຊ້ປະເພດເຫດການ tracepoint (ຄືກັນກັບ --tracepoint).
ເນື່ອງຈາກວ່າຊ່ອງທາງ immutable ໃນຕອນຕົ້ນ, ໄດ້ ເປີດຊ່ອງທາງ ຄໍາສັ່ງບໍ່ສາມາດຖືກນໍາໃຊ້ກັບ
ໂດເມນ JUL ແລະ LOG4J ດັ່ງນັ້ນບໍ່ມີທາງເລືອກໃດໆ.
ນອກຈາກນີ້, loglevels ໄດ້ຮັບການສະຫນັບສະຫນູນ. ໃຊ້ lttng ເປີດໃຊ້ງານ - event -h ເພື່ອລາຍຊື່ພວກເຂົາ. ຕົວແທນແມ່ນບໍ່ແມ່ນ
ສະຫນັບສະຫນູນຍົກເວັ້ນ "*" ຄວາມຫມາຍເຫດການທັງຫມົດ (ເຊັ່ນດຽວກັນກັບ -a).
ຄືກັນກັບໂດເມນ UST, ຖ້າຄໍາຮ້ອງສະຫມັກ Java ມີ UID ດຽວກັນກັບເຈົ້າ, ທ່ານສາມາດເຮັດໄດ້
ຕິດຕາມມັນ. ຄືກັນສໍາລັບກຸ່ມຕິດຕາມເຂົ້າເຖິງຄໍາຮ້ອງສະຫມັກຮາກ.
ສຸດທ້າຍ, ທ່ານສາມາດລາຍຊື່ທຸກຊື່ Logger ທີ່ມີຢູ່ຈາກຄໍາຮ້ອງສະຫມັກທີ່ລົງທະບຽນໄປ
session daemon ໂດຍໃຊ້ lttng ບັນຊີລາຍຊື່ -j or -l.
ນີ້ແມ່ນຕົວຢ່າງກ່ຽວກັບວິທີການນໍາໃຊ້ໂດເມນ JUL.
$lttng ບັນຊີລາຍຊື່ -j
[ ... ]
$lttng ສ້າງ aSession
$lttng enable-event -s aSession -j MyCustomLoggerName
$ lttng ເລີ່ມຕົ້ນ
ຂໍ້ມູນເພີ່ມເຕີມສາມາດພົບໄດ້ໃນເອກະສານ lttng-ust, ເບິ່ງ java-util-logging.txt
ອອກ VALUES
ກ່ຽວກັບຄວາມສໍາເລັດ 0 ຈະຖືກສົ່ງຄືນແລະມູນຄ່າໃນທາງບວກກ່ຽວກັບຄວາມຜິດພາດ. ຄ່າຂອງ 1 ຫມາຍເຖິງຄວາມຜິດພາດຄໍາສັ່ງ,
2 ຄໍາສັ່ງທີ່ບໍ່ໄດ້ກໍານົດ, 3 ຄວາມຜິດພາດຕາຍແລະ 4 ຄໍາສັ່ງເຕືອນຄວາມຫມາຍວ່າບາງສິ່ງບາງຢ່າງ
ຜິດພາດໃນລະຫວ່າງຄໍາສັ່ງ.
ຄ່າອື່ນໃດທີ່ສູງກວ່າ 10, ກະລຸນາອ້າງອີງເຖິງ ສໍາລັບບັນຊີລາຍຊື່ລາຍລະອຽດຫຼືການນໍາໃຊ້
lttng_strerror() ເພື່ອເອົາລະຫັດຂໍ້ຜິດພາດທີ່ສາມາດອ່ານໄດ້ຂອງມະນຸດ.
ENVIRONMENT ຄວາມຮັບຜິດຊອບ
ໃຫ້ສັງເກດວ່າທຸກຕົວເລືອກແຖວຄໍາສັ່ງ override ຕົວແປສະພາບແວດລ້ອມ.
LTTNG_SESSIOND_PATH
ອະນຸຍາດໃຫ້ຫນຶ່ງລະບຸເສັ້ນທາງຄູ່ daemon ເຕັມຂອງ session daemon ກັບເສັ້ນຄໍາສັ່ງ lttng
ເຄື່ອງມື. ທ່ານຍັງສາມາດໃຊ້ທາງເລືອກ --sessiond-path ທີ່ມີຜົນກະທົບດຽວກັນ.
LTTNG_SESSION_CONFIG_XSD_PATH
ກໍານົດເສັ້ນທາງທີ່ session.xsd ຮູບແບບການຕັ້ງຄ່າເຊດຊັນອາດຈະພົບເຫັນ.
ໃຊ້ lttng ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net