← Documents Documentation/tools/rtla/rtla-osnoise-hist.rst GitHub 원문 ↗

Linux 6.18.37 · Kernel Tools

rtla-osnoise-hist: osnoise sample histogram

osnoise:sample_threshold occurrence를 CPU별 latency bucket으로 집계하는 histogram mode와 sample 출력 해석을 설명합니다.

Source pathDocumentation/tools/rtla/rtla-osnoise-hist.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

rtla-osnoise-hist.rst:1-68

osnoise:sample_threshold occurrence를 CPU별 latency bucket으로 집계하는 histogram mode와 sample 출력 해석을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. |tool| replace:: osnoise hist
2
3 ===================
4 rtla-osnoise-hist
5 ===================
6 ------------------------------------------------------
7 Display a histogram of the osnoise tracer samples
8 ------------------------------------------------------
9
10 :Manual section: 1
11
12 SYNOPSIS
13 ========
14 **rtla osnoise hist** [*OPTIONS*]
15
16 DESCRIPTION
17 ===========
18 .. include:: common_osnoise_description.txt
19
20 The **rtla osnoise hist** tool collects all **osnoise:sample_threshold**
21 occurrence in a histogram, displaying the results in a user-friendly way.
22 The tool also allows many configurations of the *osnoise* tracer and the
23 collection of the tracer output.
24
25 OPTIONS
26 =======
27 .. include:: common_osnoise_options.txt
28
29 .. include:: common_hist_options.txt
30
31 .. include:: common_options.txt
32
33 EXAMPLE
34 =======
35 In the example below, *osnoise* tracer threads are set to run with real-time
36 priority *FIFO:1*, on CPUs *0-11*, for *900ms* at each period (*1s* by
37 default). The reason for reducing the runtime is to avoid starving the
38 **rtla** tool. The tool is also set to run for *one minute*. The output
39 histogram is set to group outputs in buckets of *10us* and *25* entries::
40
41 [root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25
42 # RTLA osnoise histogram
43 # Time unit is microseconds (us)
44 # Duration: 0 00:01:00
45 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
46 0 42982 46287 51779 53740 52024 44817 49898 36500 50408 50128 49523 52377
47 10 12224 8356 2912 878 2667 10155 4573 18894 4214 4836 5708 2413
48 20 8 5 12 2 13 24 20 41 29 53 39 39
49 30 1 1 0 0 10 3 6 19 15 31 30 38
50 40 0 0 0 0 0 4 2 7 2 3 8 11
51 50 0 0 0 0 0 0 0 0 0 1 1 2
52 over: 0 0 0 0 0 0 0 0 0 0 0 0
53 count: 55215 54649 54703 54620 54714 55003 54499 55461 54668 55052 55309 54880
54 min: 0 0 0 0 0 0 0 0 0 0 0 0
55 avg: 0 0 0 0 0 0 0 0 0 0 0 0
56 max: 30 30 20 20 30 40 40 40 40 50 50 50
57
58 SEE ALSO
59 ========
60 **rtla-osnoise**\(1), **rtla-osnoise-top**\(1)
61
62 *osnoise* tracer documentation: <https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html>
63
64 AUTHOR
65 ======
66 Written by Daniel Bristot de Oliveira <[email protected]>
67
68 .. include:: common_appendix.txt
69

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 공통 설정을 각각 포함한다.

osnoise hist 구성
Include기능
common_osnoise_description.txtper-CPU osnoise 측정 원리
common_osnoise_options.txtperiod, runtime, stop, threshold, trace
common_hist_options.txtbucket size, entries, 출력 형식
common_options.txtCPU, duration, event, scheduling, action

재사용되는 문서 조각과 기능이다.

Histogram 생성
osnoise per-CPU samplingosnoise:sample_threshold
Collect all occurrencesBucket by latency
CPU columns + summaryUser-friendly histogram

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다.

예제 parameter
Option
-P F:1SCHED_FIFO priority 1
-c 0-1112개 CPU
-r 900000period당 900 ms runtime
-d 1M1분 session
-b 10 / -E 2510 us bucket, 25 entry

측정과 histogram 표현을 함께 설정한다.

Histogram summary row
Row의미
over마지막 bucket 범위를 넘은 sample
count전체 sample 수
min / avg / maxCPU별 최소·평균·최대 latency

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를 포함한다.

관련 문서
문서용도
rtla-osnoise(1)mode 선택과 공통 진입점
rtla-osnoise-top(1)periodic summary와 interference counter
osnoise tracer documentationkernel tracer 상세

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