4.12. コンパイラーおよび開発ツール

Go Toolset がバージョン 1.16.7 にリベース

Go Toolset がバージョン 1.16.7 にアップグレードされました。主な変更点は、以下のとおりです。

  • GO111MODULE 環境変数が、デフォルトで on に設定されるようになりました。この設定を元に戻すには、GO111MODULEauto に変更します。
  • Go リンカーでは、使用するリソースが少なくなり、コードの堅牢性および保守性が向上します。これは、サポートされているすべてのアーキテクチャーおよびオペレーティングシステムに該当します。
  • 新しい embed パッケージを使用すると、プログラムのコンパイル中に埋め込みファイルにアクセスできます。
  • io/ioutil パッケージのすべての機能が io パッケージおよび os パッケージに移動しました。io/ioutil を引き続き使用できますが、 io および os パッケージはより適切な定義を提供します。
  • Delve デバッガーが 1.6.0 にリベースされ、Go 1.16.7 Toolset に対応するようになりました。

詳細は、Using Go Toolset を参照してください。

(BZ#1938071)

Rust Toolset がバージョン 1.54.0 にリベース

Rust Toolset が、バージョン 1.54.0 に更新されました。主な変更点は、以下のとおりです。

  • Rust 標準ライブラリーが wasm32-unknown-unknown ターゲットで利用できるようになりました。今回の機能拡張により、新たに安定化した組み込み関数を含む WebAssembly バイナリーを生成できます。
  • Rust には、アレイの IntoIterator 実装が含まれるようになりました。今回の機能拡張により、IntoIterator トレイトを使用して、配列を値ごとに反復し、配列をメソッドに渡すことができます。ただし、array.into_iter() は、Rust の 2021 版まで値を参照ごとに繰り返します。
  • or パターンの構文により、パターンのどこにでもネスト化できるようになりました。(例: Pattern(1)|Pattern(2) ではなく Pattern(1|2))。
  • Unicode 識別子に、Unicode Standard Annex #31 で定義された有効な識別子文字がすべて含まれるようになりました。
  • メソッドとトレイトの実装は安定化されました。
  • 増分コンパイルはデフォルトで再度有効になります。

詳細は、Using Rust Toolset を参照してください。

(BZ#1945805)

LLVM Toolset がバージョン 12.0.1 にリベース

LLVM Toolset がバージョン 12.0.1 にアップグレードされました。主な変更点は、以下のとおりです。

  • 新しいコンパイラーフラグ -march=x86-64-v[234] が追加されました。
  • Clang コンパイラーのコンパイラーフラグ -fasynchronous-unwind-tables が、Linux AArch64/PowerPC のデフォルトになりました。
  • Clang コンパイラーは、C++20 可能性属性 [[likely]] および [[unlikely]] に対応するようになりました。
  • 新しい関数属性 tune-cpu が追加されました。これにより、マイクロアーキテクチャーの最適化は target-cpu 属性または TargetMachine CPU とは独立して適用できます。
  • セキュリティーを強化するために、新しいサニタイザー -fsanitize=unsigned-shift-base が整数サニタイザー -fsanitize=integer に追加されました。
  • PowerPC ターゲットでのコード生成が最適化されました。
  • WebAssembly バックエンドが LLVM で有効にされるようになりました。今回の機能拡張により、LLVM および Clang で WebAssembly バイナリーを生成できます。

詳細は、LLVM Toolset の使用 を参照してください。

(BZ#1927937)

cmake がバージョン 3.20.2 にリベースされました。

Cmake が 3.18.2 から 3.20.2 にリベースされました。バージョン 3.20.2 以前を必要とするプロジェクトで CMake を使用するには、cmake_minimum_required(version 3.20.2) コマンドを使用します。

主な変更点は、以下のとおりです。

  • C++23 コンパイラーモードは、ターゲットプロパティー CXX_STANDARDCUDA_STANDARDOBJCXX_STANDARD、またはコンパイル機能の cxx_std_23 メタ機能を使用して指定できるようになりました。
  • CUDA 言語サポートにより、NVIDIA CUDA コンパイラーをシンボリックリンクにすることができるようになりました。
  • Intel oneAPI NextGen LLVM コンパイラーが、IntelLLVM コンパイラー ID でサポートされるようになりました。
  • Cmake は、Android NDK のツールチェーンファイルとマージすることで、Android のクロスコンパイルを容易にします。
  • cmake(1) を実行してプロジェクトビルドシステムを生成すると、ハイフンで始まる不明なコマンドライン引数が拒否されるようになりました。

新機能および非推奨になった機能の詳細は、CMake Release Notes を参照してください。

(BZ#1957947)

新しい GCC Toolset 11

GCC Toolset 11 は最新バージョンの開発ツールを提供するコンパイラーツールセットです。このツールセットは、AppStream リポジトリーにおいて、Software Collection の形式で、Application Streams として利用できます。

GCC Toolset 10 以降、以下のコンポーネントがリベースされています。

  • GCC のバージョンを 11.2 に変更
  • GDB: バージョン 10.2 へ
  • Valgrind: バージョン 3.17.0 へ
  • SystemTap: バージョン 4.5 へ
  • binutils のバージョンを 2.36 に変更
  • elfutils をバージョン 0.185 に更新
  • dwz: バージョン 0.14 へ
  • Annobin をバージョン 9.85 へ

コンポーネントの完全なリストについては、GCC Toolset 11 を参照してください。

GCC Toolset 11 をインストールするには、root で以下のコマンドを実行します。

# yum install gcc-toolset-11

GCC Toolset 11 のツールを実行するには、以下のコマンドを実行します。

$ scl enable gcc-toolset-11 tool

GCC Toolset バージョン 11 のツールバージョンが、このようなツールのシステムバージョンをオーバーライドするシェルセッションを実行するには、次のコマンドを実行します。

$ scl enable gcc-toolset-11 bash

詳細は、Using GCC Toolset を参照してください。

GCC Toolset 11 コンポーネントが、以下のコンテナーイメージ 2 つでも利用可能になりました。

  • GCC コンパイラー、GDB デバッガー、make 自動化ツールを含む rhel8/gcc-toolset-11-toolchain
  • SystemTap や Valgrind などのパフォーマンス監視ツールを含む rhel8/gcc-toolset-11-perftools

コンテナーイメージをプルするには、root で以下のコマンドを実行します。

# podman pull registry.redhat.io/<image_name>

GCC Toolset 11 コンテナーイメージのみがサポートされるようになりました。以前のバージョンの GCC Toolset コンテナーイメージが非推奨になりました。

(BZ#1953094)

.NET がバージョン 6.0 に更新されました。

Red Hat Enterprise Linux 8.5 には .NET バージョン 6.0 が同梱されています。以下は、主な改善点です。

  • 64 ビット Arm (aarch64) に対応
  • IBM Z および LinuxONE (s390x) に対応

詳細は、.NET 6.0 RPM パッケージリリースノート および .NET 6.0 コンテナーリリースノート を参照してください。

(BZ#2022794)

GCC Toolset 11: GCC がバージョン 11.2 にリベースされました。

GCC Toolset 11 では、GCC パッケージがバージョン 11.2 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

一般的な改善

  • GCC は、DWARF バージョン 5 のデバッグフォーマットをデフォルトで使用するようになりました。
  • 診断で表示される列番号は、デフォルトでは実際の列番号を表し、複数列の文字を尊重します。
  • 直線コードベクターライザは、機能全体を考慮してベクターリングを行います。
  • 同じ変数を比較する一連の条件式は、それぞれに比較式が含まれていれば、switch ステートメントに変換することができます。
  • プロシージャー間の最適化の改善:

    • fipa-modref オプションで制御される新しい IPA-modref パスは、関数呼び出しの副作用を追跡し、ポイントツー分析の精度を向上させます。
    • fipa-icf オプションで制御される同一コードのフォールディングパスが大幅に改善され、統一された関数の数が増え、コンパイル時のメモリー使用量が削減されました。
  • リンクタイム最適化の改善:

    • リンク時のメモリー割り当てを改善し、ピークのメモリー使用量を削減しました。
  • IDE で新しい GCC_EXTRA_DIAGNOSTIC_OUTPUT 環境変数を使用すると、ビルドフラグを調整することなく、機械的に読める修正のヒントを要求することができます。
  • -fanalyzer オプションで実行されるスタティックアナライザーが大幅に改善され、多数のバグフィックスと機能強化が行われました。

言語固有の改善

C ファミリー

  • C および C++ コンパイラーは、OpenMP 5.0 仕様の OpenMP コンストラクトおよびアロケータルーチンにおいて、非矩形のループネストをサポートしています。
  • 属性:

    • 新しい no_stack_protector 属性は、スタック保護 (-fstack-protector) をかけてはいけない関数を示します。
    • 改良された malloc 属性は、アロケータとデアロケータの API ペアを識別するために使用することができます。
  • 新しい警告:

    • -Wsizeof-array-div(-Wall オプションで有効) は、2 つの sizeof 演算子の除算について、最初の演算子が配列に適用され、除算値が配列要素のサイズと一致しない場合に警告を発します。
    • -Wstringop-overread は、デフォルトで有効になっており、引数として渡された配列の最後を超えて読み取ろうとする文字列関数の呼び出しについて警告します。
  • 警告の強化:

    • -Wfree-nonheap-object は、動的メモリー割り当て関数から返されていないポインターを使用した割り当て解除関数の呼び出しのインスタンスをより多く検出します。
    • -Wmaybe-uninitialized は、初期化されていないメモリーへのポインターや参照が、const-qualified 引数を取る関数に渡すことを診断します。
    • -Wuninitialized は、初期化されていない動的に割り当てられたメモリーからの読み取りを検出します。

C

  • -std=c2x および -std=gnu2x オプションにより、ISO C 規格の次期 C2X 改訂版の新機能がサポートされています。以下に例を示します。

    • 標準属性がサポートされています。
    • __has_c_attribute プリプロセッサー演算子がサポートされています。
    • ラベルは、宣言の前や複合ステートメントの最後に表示されることがあります。

C++

  • デフォルトのモードは -std=gnu++17 に変更されます。
  • C++ライブラリーの libstdc++ では、C++17 のサポートが改善されました。
  • C++20 の新機能がいくつか実装されています。なお、C++20 のサポートは実験的なものです。

    各機能の詳細については、C++20 Language Features を参照してください。

  • C++フロントエンドは、今後予定されている C++23 ドラフト機能の一部を実験的にサポートしています。
  • 新しい警告:

    • -Wctad-maybe-unsupported はデフォルトでは無効で、控除ガイドのない型でクラステンプレート引数の控除を行うことについて警告します。
    • -Wrange-loop-construct は、-Wall で有効になり、範囲ベースの for ループが不必要でリソース効率の悪いコピーを作成している場合に警告を発します。
    • -Wmismatched-new-delete-Wall で有効になり、不一致な形式の new 演算子や他の不一致な割り当て関数から返されたポインターを持つ delete 演算子の呼び出しについて警告します。
    • -Wvexing-parse はデフォルトで有効になっており、最も厄介な構文解析ルールを警告します。つまり、宣言が変数定義のように見えても、C++言語では関数宣言として解釈される必要がある場合です。

アーキテクチャー固有の改善

64 ビット ARM アーキテクチャー

  • Armv8-R アーキテクチャーは、-march=armv8-r オプションでサポートされています。
  • GCC は、加算、減算、乗算、および複素数の累積と減算を行う演算を自動ベクトル化することができます。

AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー

  • Sapphire Rapids、Alder Lake、および Rocket Lake のインテル製 CPU に対応しています。
  • Intel AVX-VNNI の新しい ISA 拡張サポートが追加されました。-mavxvnni コンパイラースイッチは、AVX-VNNI の組込みを制御します。
  • znver3 コアを搭載した AMD CPU は、新たな -march=znver3 オプションによりサポートされます。
  • x86-64 psABI サプリメントで定義されている 3 つのマイクロアーキテクチャーレベルは、新しい -march=x86-64-v2-march=x86-64-v3、および -march=x86-64-v4 オプションでサポートされています。

(BZ#1946782)

GCC Toolset 11: dwz が DWARF 5 に対応

GCC Toolset 11 では、dwz ツールが DWARF Version 5 デバッグ形式に対応するようになりました。

(BZ#1948709)

GCC Toolset 11: GCC が AIA ユーザー割り込みをサポートしました。

GCC Toolset 11 では、GCC が Accelerator Interfacing Architecture(AIA) のユーザー割り込みをサポートするようになりました。

(BZ#1927516)

GCC Toolset 11: 汎用 SVE チューニングのデフォルトが改善されました。

GCC Toolset 11 では、64 ビットの ARM アーキテクチャーにおいて、一般的な SVE のチューニングのデフォルトが改善されました。

(BZ#1979715)

SystemTap がバージョン 4.5 にリベース

SystemTap パッケージがバージョン 4.5 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

  • 32 ビット浮動小数点変数は自動的に倍精度変数に拡張され、その結果、$context 変数として直接アクセスできます。
  • 列挙 の値は $context 変数としてアクセスできます。
  • BPF uconversions tapset は拡張され、user_long_error() など、ユーザー空間の値にアクセスするためのより多くの tapset 関数が含まれています。
  • 大規模なサーバーで安定した操作を提供するために、同時実行制御が大幅に改善されました。

詳細は、アップストリームの SystemTap 4.5 リリースノート を参照してください。

(BZ#1933889)

elfutils がバージョン 0.185 にリベース

elfutils パッケージがバージョン 0.185 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

  • eu-elflint および eu-readelf ツールは、ELF セクションの SHF_GNU_RETAIN および SHT_X86_64_UNWIND フラグを認識して表示するようになりました。
  • DEBUGINFOD_SONAME マクロが debuginfod.h に追加されました。このマクロは、dlopen 関数とともに使用して、libdebuginfod.so ライブラリーをアプリケーションから直接読み込むことができます。
  • 新しい関数 debuginfod_set_verbose_fddebuginfod-client ライブラリーに追加されました。この関数は、詳細な出力を別のファイルにリダイレクトすることで、debuginfod_find_* クエリー機能を強化します。
  • DEBUGINFOD_VERBOSE 環境変数を設定すると、debuginfod クライアントが接続しているサーバーおよびこれらのサーバーの HTTP 応答に関する詳細情報が表示されるようになりました。
  • debuginfod サーバーは、新しいスレッドビジーメトリックと、より詳細なエラーメトリックを提供します。これにより、debuginfod サーバー上で実行されるプロセスの検査が容易になります。
  • libdw ライブラリーは、DW_FORM_indirect の場所値を透過的に処理し、dwarf_whatform 関数が属性の実際の FORM を返すようになりました。
  • ネットワークトラフィックを減らすために、debuginfod-client ライブラリーは負の結果をキャッシュに保存し、クライアントオブジェクトは既存の接続を再利用できます。

(BZ#1933890)

Valgrind がバージョン 3.17.0 にリベース

Valgrind パッケージがバージョン 3.17.0 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

  • Valgrind は、DWARF バージョン 5 デバッグ形式を読み取ることができます。
  • Valgrind は、debuginfod サーバーへのデバッグクエリーをサポートします。
  • ARMv8.2 プロセッサー命令は、部分的にサポートされます。
  • POWER10 プロセッサーにおける Power ISA v.3.1 命令は、一部サポートされます。
  • IBM z14 プロセッサー命令がサポートされます。
  • ほとんどの IBM z15 命令は、サポートされています。Valgrind ツールスイートは、IBM z15 プロセッサーの miscellaneous-instruction-extensions facility 3 と vector-enhancements facility 2 をサポートします。これにより、Valgrind は、GCC -march=z15 でコンパイルしたプログラムを正しく実行し、パフォーマンスとデバッグのエクスペリエンスを向上させます。
  • --track-fds=yes オプションは -q (--quiet) を尊重し、デフォルトで標準ファイル記述子の stdinstdout、および stderr を無視します。標準のファイル記述子を追跡するには、--track-fds=all オプションを使用します。
  • DHAT ツールには、--mode=copy および --mode=ad-hoc の 2 つの新しい操作モードがあります。

(BZ#1933891)

Dyninst がバージョン 11.0.0 にリベース

Dyninst パッケージがバージョン 11.0.0 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

  • debuginfod サーバーのサポートと、個別の debuginfo ファイル取得のサポート。
  • プロシージャリンケージテーブル (PLT) スタブへの間接呼び出しの検出を改善しました。
  • C++の名前のデマングルを改善しました。
  • コードエミット時のメモリーリークを修正しました。

(BZ#1933893)

IBM POWER10 の GDB で DAWR 機能が改善

この機能拡張により、IBM POWER10 プロセッサーでは、新しいハードウェアウォッチポイント機能が GDB で有効になりました。たとえば、DAWR/DAWRX レジスターの新しいセットが追加されました。

(BZ#1854784)

GCC Toolset 11: GDB がバージョン 10.2 にリベースされました。

GCC Toolset 11 では、GDB パッケージがバージョン 10.2 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

新機能

  • マルチスレッドシンボルの読み込みは、この機能をサポートするアーキテクチャーでデフォルトで有効になっています。この変更により、多くのシンボルを持つプログラムのパフォーマンスが向上します。
  • テキスト形式のユーザーインターフェイス (TUI) ウィンドウは水平方向に配置できます。
  • GDB は、複数のターゲット接続を同時にデバッグしますが、このサポートは実験的なものであり、制限があります。たとえば、各 inferior を異なるマシンで実行する別のリモートサーバーに接続するか、1 つの inferior を使用してローカルのネイティブプロセスまたは他のプロセスのデバッグを行うことができます。

新規コマンドおよび改善されたコマンド

  • 新しい tui new-layout name window weight [window weight…] コマンドは、新しいテキストユーザーインターフェイス (TUI) レイアウトを作成します。また、レイアウト名と表示ウィンドウを指定することもできます。
  • alias [-a] [--] alias = command [default-args] コマンドが改善され、新規エイリアスの作成時にデフォルトの引数を指定できます。
  • set exec-file-mismatch コマンドおよび show exec-file-mismatch コマンドは、新しい exec-file-mismatch オプションを設定して表示します。GDB が実行中のプロセスに割り当てると、このオプションは、GDB がロードされた現在の実行可能ファイルと、プロセスの開始に使用される実行ファイルとの間に不一致を検出すると、GDB が反応するかを制御します。

Python API

  • gdb.register_window_type 関数は、Python で新しい TUI ウィンドウを実装します。
  • 動的タイプをクエリーできるようになりました。gdb.Type クラスのインスタンスは、新しいブール値属性 dynamic を指定でき、gdb.Type.sizeof 属性には動的タイプの値 None を指定できます。Type.fields() が動的タイプのフィールドを返す場合、その bitpos 属性の値は None になります。
  • 新しい gdb.COMMAND_TUI 定数は、コマンドの TUI ヘルプクラスのメンバーとして Python コマンドを登録します。
  • 新しい gdb.PendingFrame.architecture() メソッドは、保留中のフレームのアーキテクチャーを取得します。
  • 新しい gdb.Architecture.registers メソッドは、gdb.RegisterDescriptorIterator オブジェクトを返す gdb.RegisterDescriptor Iterator オブジェクトを返します。このようなオブジェクトはレジスターの値を提供しませんが、アーキテクチャーで利用可能なレジスターを理解するのに役立ちます。
  • 新しい gdb.Architecture.register_groups メソッドは、gdb.RegisterGroupIterator オブジェクトを返す gdb.RegisterGroup Iterator オブジェクトを返します。このようなオブジェクトは、どの登録グループがアーキテクチャーで利用可能なかを理解するのに役立ちます。

(BZ#1954332)

GCC Toolset 11: SystemTap がバージョン 4.5 にリベース

GCC Toolset 11 では、SystemTap パッケージがバージョン 4.5 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

  • 32 ビット浮動小数点変数は自動的に倍精度変数に拡張され、その結果、$context 変数として直接アクセスできるようになりました。
  • 列挙 の値は $context 変数としてアクセスできるようになりました。
  • BPF uconversions tapset は拡張され、user_long_error() など、ユーザー空間の値にアクセスするためのより多くの tapset 関数が含まれるようになりました。
  • 大規模なサーバーで安定した操作を提供するために、同時実行制御が大幅に改善されました。

詳細は、アップストリームの SystemTap 4.5 リリースノート を参照してください。

(BZ#1957944)

GCC Toolset 11: elfutils がバージョン 0.185 にリベースされました。

GCC Toolset 11 では、elfutils パッケージがバージョン 0.185 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

  • eu-elflint および eu-readelf ツールは、ELF セクションの SHF_GNU_RETAIN および SHT_X86_64_UNWIND フラグを認識して表示するようになりました。
  • DEBUGINFOD_SONAME マクロが debuginfod.h に追加されました。このマクロは、dlopen 関数とともに使用して、libdebuginfod.so ライブラリーをアプリケーションから直接読み込むことができます。
  • 新しい関数 debuginfod_set_verbose_fddebuginfod-client ライブラリーに追加されました。この関数は、詳細な出力を別のファイルにリダイレクトすることで、debuginfod_find_* クエリー機能を強化します。
  • DEBUGINFOD_VERBOSE 環境変数を設定すると、debuginfod クライアントが接続しているサーバーおよびこれらのサーバーの HTTP 応答に関する詳細情報が表示されるようになりました。
  • debuginfod サーバーは、新しいスレッドビジーメトリックと、より詳細なエラーメトリックを提供します。これにより、debuginfod サーバー上で実行されるプロセスの検査が容易になります。
  • libdw ライブラリーは、DW_FORM_indirect の場所値を透過的に処理し、dwarf_whatform 関数が属性の実際の FORM を返すようになりました。
  • debuginfod-client ライブラリーは負の結果をキャッシュに保存し、クライアントオブジェクトは既存の接続を再利用できるようになりました。これにより、ライブラリー利用時の不要なネットワークトラフィックを防ぐことができます。

(BZ#1957225)

GCC Toolset 11: Valgrind がバージョン 3.17.0 にリベースされました。

GCC Toolset 11 では、Valgrind パッケージがバージョン 3.17.0 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

  • Valgrind は、DWARF バージョン 5 デバッグ形式を読み取ることができるようになりました。
  • Valgrind は、debuginfod サーバーへのデバッグクエリーをサポートするようになりました。
  • Valgrind は、ARMv8.2 プロセッサー命令を部分的にサポートするようになりました。
  • Valgrind は、IBM z14 プロセッサー命令をサポートするようになりました。
  • Valgrind は、POWER10 プロセッサーの Power ISA v.3.1 命令を部分的にサポートするようになりました。
  • --track-fds=yes オプションは -q (--quiet) を尊重し、デフォルトで標準ファイル記述子の stdinstdout、および stderr を無視するようになりました。標準のファイル記述子を追跡するには、--track-fds=all オプションを使用します。
  • DHAT ツールは、--mode=copy および --mode=ad-hoc の 2 つの新しい操作モードを持つようになりました。

(BZ#1957226)

GCC Toolset 11: Dyninst がバージョン 11.0.0 にリベースされました。

GCC Toolset 11 では、Dyninst パッケージがバージョン 11.0.0 に更新されました。主なバグ修正と機能強化は、以下のとおりです。

  • debuginfod サーバーのサポートと、個別の debuginfo ファイル取得のサポート。
  • プロシージャリンケージテーブル (PLT) スタブへの間接呼び出しの検出を改善しました。
  • C++の名前のデマングルを改善しました。
  • コードエミット時のメモリーリークを修正しました。

(BZ#1957942)

Fujitsu A64FX の PAPI ライブラリーサポートを追加

Fujitsu A64FX の PAPI ライブラリーのサポートが追加されました。この機能を使用すると、開発者はハードウェアの統計を収集できます。

(BZ#1908126)

PCP パッケージが 5.3.1 にリベース

PCP (Performance Co-Pilot) パッケージがバージョン 5.3.1 にリベースされました。このリリースには、バグ修正、機能拡張、および新機能が含まれます。主な変更点は、以下のとおりです。

  • スケーラビリティーが向上します。数百ものホストのパフォーマンスメトリックの集中ロギング (pmlogger ファーム) およびパフォーマンスルールによる自動監視 (pmie ファーム) がサポートされるようになりました。
  • pmproxy サービスおよび libpcp_web API ライブラリーのメモリーリークを解決し、インストルメンテーションと新しいメトリックを pmproxy に追加しました。
  • 過去のソケット統計情報用の新しい pcp-ss ツール。
  • pcp-htop ツールーの改善
  • 有線の PCP プロトコルに拡張機能が追加され、より高い解像度のタイムスタンプをサポートされるようになりました。

(BZ#1922040)

grafana パッケージがバージョン 7.5.9 にリベース

grafana パッケージがバージョン 7.5.9 にリベースされました。主な変更点は、以下のとおりです。

  • 新規時系列パネル (ベータ)
  • 新規パイチャートパネル (ベータ)
  • Loki のアラートサポート
  • 複数の新しいクエリー変換

詳細は What's New in Grafana v7.4 および What's New in Grafana v7.5 を参照してください。

(BZ#1921191)

grafana-pcp パッケージが 3.1.0 にリベース

grafana-pcp パッケージがバージョン 3.1.0 にリベースされました。主な変更点は、以下のとおりです。

  • Performance Co-Pilot(PCP)Vector Checklist ダッシュボードは、新しい時系列パネルを使用し、グラフに単位を表示し、更新されたヘルプテキストが含まれます。
  • PCP Vector Host Overview および PCP Checklist ダッシュボードに pmproxy URL および hostspec 変数を追加します。
  • すべてのダッシュボードでデータソースの選択を表示します。
  • 含まれているすべてのダッシュボードを読み取り専用としてマークします。
  • Grafana 8 との互換性の追加

(BZ#1921190)

grafana-container がバージョン 7.5.9 にリベース

rhel8/grafana コンテナーイメージは Grafana を提供します。主な変更点は、以下のとおりです。

  • grafana パッケージがバージョン 7.5.9 に更新されました。
  • grafana-pcp パッケージがバージョン 3.1.0 に更新されました。
  • コンテナーが、コンテナーの起動時にカスタム Grafana プラグインをインストールするために GF_INSTALL_PLUGINS 環境変数をサポートするようになりました。

リベースは、Red Hat コンテナーレジストリーの rhel8/grafana イメージを更新します。

このコンテナーイメージをプルするには、以下のコマンドを実行します。

# podman pull registry.redhat.io/rhel8/grafana

(BZ#1971557)

pcp-container がバージョン 5.3.1 にリベース

rhel8/pcp コンテナーイメージは、Performance Co-Pilot を提供します。pcp-container パッケージがバージョン 5.3.1 にアップグレードされました。主な変更点は、以下のとおりです。

  • pcp パッケージが、バージョン 5.3.1 に更新されました。

リベースは、Red Hat コンテナーレジストリーの rhel8/pcp イメージを更新します。

このコンテナーイメージをプルするには、以下のコマンドを実行します。

# podman pull registry.redhat.io/rhel8/pcp

(BZ#1974912)

新しい pcp-ss PCP ユーティリティーが利用可能に

pcp-ss PCP ユーティリティーは、pmdasockets(1) PMDA が収集したソケット統計を報告します。このコマンドは、多くの ss コマンドラインオプションとレポート形式と互換性があります。また、ライブモードのローカルまたはリモート監視と、以前に記録された PCP アーカイブからの過去の再生の利点も提供します。

(BZ#1879350)

PCP で電力消費メトリックが利用可能に

新しい pmda-denkiPerformance Metrics Domain Agent (PMDA) は、消費電力に関連するメトリックを報告します。具体的には以下の項目が報告されます。

  • 最近のインテル製 CPU で利用可能な RAPL(Running Average Power Limit) 測定値に基づく消費メトリック
  • バッテリーを搭載したシステムで利用可能な、バッテリー放電に基づく消費メトリック

(BZ#1629455)