この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/resource/webengine/

翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930

Webengine

Status: Development

type: webengine

Description: アプリケーションコードを実行しているパッケージ化されたソフトウェアを表すリソース。Webエンジンは通常 process.runtime を使って実行されます。

[!warning] このEntity定義には、ロールを持たない属性が含まれています。 安定版のEntityは、ロールが定義されていない属性を持ってはなりません(MUST NOT)。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Otherwebengine.nameDevelopmentRequiredstringWebエンジンの名前。WildFly
Otherwebengine.descriptionDevelopmentRecommendedstringWebエンジンに関する追加の説明(詳細なバージョンやエディション情報など)。WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final
Otherwebengine.versionDevelopmentRecommendedstringWebエンジンのバージョン。21.0.0

Webエンジンを記述する情報は、エンジンのバージョンアップグレード時の保守負担を避けるため、できればランタイム中にWebエンジンが提供するAPIから取得した値を使って収集すべきです(SHOULD)。例えば、JavaのWebエンジンはしばしばアプリケーションサーバーとしてパッケージ化されますが、常にそうとは限りません。Servlet APIをサポートするJavaアプリケーションサーバーの場合、必要な情報はランタイム中に ServletContext.getServerInfo() を呼び出し、その結果を構文解析することで取得してもかまいません(MAY)。

1つのリソースは、最大で1つのWebエンジンに帰属できます。

複数の候補がある状況では、どのWebエンジンを選ぶかは計装ライブラリの作者に委ねられます。例として、Apache HTTP Serverをmod_wsgiと組み合わせてサーバーとし、DjangoをWebフレームワークとして使うPythonアプリケーションを考えます。この状況では次のようになります。

  • 計装作者の判断により、Apache HTTP Serverまたは mod_wsgi のいずれかを webengine として選んでもかまいません(MAY)。
  • 必要な情報はすでに計装ライブラリで利用可能であり、これを webengine に設定すると情報が重複するため、Djangoを webengine として設定するべきではありません(SHOULD NOT)。