요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. |tool| replace:: osnoise hist
===================
rtla-osnoise-hist
===================
------------------------------------------------------
Display a histogram of the osnoise tracer samples
------------------------------------------------------
:Manual section: 1
SYNOPSIS
========
**rtla osnoise hist** [*OPTIONS*]
DESCRIPTION
===========
.. include:: common_osnoise_description.txt
The **rtla osnoise hist** tool collects all **osnoise:sample_threshold**
occurrence in a histogram, displaying the results in a user-friendly way.
The tool also allows many configurations of the *osnoise* tracer and the
collection of the tracer output.
OPTIONS
=======
.. include:: common_osnoise_options.txt
.. include:: common_hist_options.txt
.. include:: common_options.txt
EXAMPLE
=======
In the example below, *osnoise* tracer threads are set to run with real-time
priority *FIFO:1*, on CPUs *0-11*, for *900ms* at each period (*1s* by
default). The reason for reducing the runtime is to avoid starving the
**rtla** tool. The tool is also set to run for *one minute*. The output
histogram is set to group outputs in buckets of *10us* and *25* entries::
[root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25
# RTLA osnoise histogram
# Time unit is microseconds (us)
# Duration: 0 00:01:00
Index CPU-000 CPU-001 CPU-002 CPU-003 CPU-004 CPU-005 CPU-006 CPU-007 CPU-008 CPU-009 CPU-010 CPU-011
0 42982 46287 51779 53740 52024 44817 49898 36500 50408 50128 49523 52377
10 12224 8356 2912 878 2667 10155 4573 18894 4214 4836 5708 2413
20 8 5 12 2 13 24 20 41 29 53 39 39
30 1 1 0 0 10 3 6 19 15 31 30 38
40 0 0 0 0 0 4 2 7 2 3 8 11
50 0 0 0 0 0 0 0 0 0 1 1 2
over: 0 0 0 0 0 0 0 0 0 0 0 0
count: 55215 54649 54703 54620 54714 55003 54499 55461 54668 55052 55309 54880
min: 0 0 0 0 0 0 0 0 0 0 0 0
avg: 0 0 0 0 0 0 0 0 0 0 0 0
max: 30 30 20 20 30 40 40 40 40 50 50 50
SEE ALSO
========
**rtla-osnoise**\(1), **rtla-osnoise-top**\(1)
*osnoise* tracer documentation: <https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html>
AUTHOR
======
Written by Daniel Bristot de Oliveira <[email protected]>
.. include:: common_appendix.txt
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
sample_threshold occurrence 수집
1-32`rtla osnoise hist [OPTIONS]`는 `osnoise:sample_threshold` 발생을 모두 histogram으로 모아 읽기 쉬운 형식으로 표시한다. `osnoise` tracer의 여러 설정과 tracer output 수집도 지원한다.
동작 원리는 `common_osnoise_description.txt`를 포함한다. option은 osnoise 전용 threshold·runtime 설정, histogram bucket·entry 설정, CPU·event·priority·action 공통 설정을 각각 포함한다.
재사용되는 문서 조각과 기능이다.
tracepoint occurrence를 CPU별 bucket count로 집계한다.
.. |tool| replace:: osnoise hist
===================
rtla-osnoise-hist
===================
------------------------------------------------------
Display a histogram of the osnoise tracer samples
------------------------------------------------------
:Manual section: 1
SYNOPSIS
========
**rtla osnoise hist** [*OPTIONS*]
DESCRIPTION
===========
.. include:: common_osnoise_description.txt
The **rtla osnoise hist** tool collects all **osnoise:sample_threshold**
occurrence in a histogram, displaying the results in a user-friendly way.
The tool also allows many configurations of the *osnoise* tracer and the
collection of the tracer output.
OPTIONS
=======
.. include:: common_osnoise_options.txt
.. include:: common_hist_options.txt
.. include:: common_options.txt
CPU 0-11의 10 us bucket 예제
33-57예제는 CPU 0-11의 tracer thread를 realtime priority FIFO:1로 실행한다. 기본 1초 period마다 runtime을 900 ms로 줄여 RTLA process가 굶지 않게 하고 전체 session은 1분이다. histogram은 10 us bucket과 25 entry를 사용한다.
command는 `rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25`다. 출력의 `Index` 0, 10, 20 등은 각 10 us bucket 시작값이고 CPU column은 해당 CPU의 occurrence 수다.
`over`는 설정한 마지막 bucket을 넘은 sample 수, `count`는 전체 sample 수다. `min`, `avg`, `max`는 CPU별 sample 통계다. 예제에서는 0-10 us 미만 bucket에 대부분의 sample이 있고 20 us 이상은 드물며 CPU별 최대는 20-50 us다.
측정과 histogram 표현을 함께 설정한다.
bucket 아래의 집계 값이다.
EXAMPLE
=======
In the example below, *osnoise* tracer threads are set to run with real-time
priority *FIFO:1*, on CPUs *0-11*, for *900ms* at each period (*1s* by
default). The reason for reducing the runtime is to avoid starving the
**rtla** tool. The tool is also set to run for *one minute*. The output
histogram is set to group outputs in buckets of *10us* and *25* entries::
[root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25
# RTLA osnoise histogram
# Time unit is microseconds (us)
# Duration: 0 00:01:00
Index CPU-000 CPU-001 CPU-002 CPU-003 CPU-004 CPU-005 CPU-006 CPU-007 CPU-008 CPU-009 CPU-010 CPU-011
0 42982 46287 51779 53740 52024 44817 49898 36500 50408 50128 49523 52377
10 12224 8356 2912 878 2667 10155 4573 18894 4214 4836 5708 2413
20 8 5 12 2 13 24 20 41 29 53 39 39
30 1 1 0 0 10 3 6 19 15 31 30 38
40 0 0 0 0 0 4 2 7 2 3 8 11
50 0 0 0 0 0 0 0 0 0 1 1 2
over: 0 0 0 0 0 0 0 0 0 0 0 0
count: 55215 54649 54703 54620 54714 55003 54499 55461 54668 55052 55309 54880
min: 0 0 0 0 0 0 0 0 0 0 0 0
avg: 0 0 0 0 0 0 0 0 0 0 0 0
max: 30 30 20 20 30 40 40 40 40 50 50 50
관련 mode와 작성자
58-68함께 볼 manual page는 `rtla-osnoise(1)`과 `rtla-osnoise-top(1)`이다. 세부 tracer 동작은 kernel osnoise tracer documentation을 참조한다.
문서는 Daniel Bristot de Oliveira가 작성했으며 마지막에 RTLA 공통 appendix를 포함한다.
histogram 결과를 다른 view와 연결한다.
SEE ALSO
========
**rtla-osnoise**\(1), **rtla-osnoise-top**\(1)
*osnoise* tracer documentation: <https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html>
AUTHOR
======
Written by Daniel Bristot de Oliveira <[email protected]>
.. include:: common_appendix.txt
요약·해설
rtla-osnoise-hist.rst:1-68osnoise:sample_threshold occurrence를 CPU별 latency bucket으로 집계하는 histogram mode와 sample 출력 해석을 설명합니다.