@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/opentelemetry-dotnet-business-apps/#article>
    schema:about <https://comcomponent.com/knowledge/opentelemetry/>, <https://comcomponent.com/knowledge/otlp/>, <https://comcomponent.com/knowledge/opentelemetry-collector/> ;
    schema:mentions <https://comcomponent.com/knowledge/dotnet-ilogger/>, <https://comcomponent.com/knowledge/dotnet-meter/>, <https://comcomponent.com/knowledge/dotnet-activitysource/>, <https://comcomponent.com/knowledge/aspire-dashboard/>, <https://comcomponent.com/knowledge/dotnet-counters/> .

<https://comcomponent.com/knowledge/opentelemetry/> a skos:Concept ;
    skos:prefLabel "OpenTelemetry"@ja ;
    skos:definition "ログ・メトリクス・トレースの計測データを集めて送るための、言語やプラットフォームをまたぐオープンな標準。API、SDK、セマンティック規約、エクスポーター、送信形式のOTLPを含む。"@ja ;
    skos:altLabel "OTel" ;
    ks:uses <https://comcomponent.com/knowledge/dotnet-ilogger/> ;
    ks:uses <https://comcomponent.com/knowledge/dotnet-meter/> ;
    ks:uses <https://comcomponent.com/knowledge/dotnet-activitysource/> ;
    ks:uses <https://comcomponent.com/knowledge/otlp/> .

<https://comcomponent.com/knowledge/otlp/> a skos:Concept ;
    skos:prefLabel "OTLP(OpenTelemetry Protocol)"@ja ;
    skos:definition "OpenTelemetryが定める、ベンダーに依存しない計測データの送信形式。gRPCとHTTP(protobuf)で送れ、トレース・メトリクス・ログのいずれも安定版とされている。"@ja ;
    skos:altLabel "OpenTelemetry Protocol" .

<https://comcomponent.com/knowledge/opentelemetry-collector/> a skos:Concept ;
    skos:prefLabel "OpenTelemetry Collector"@ja ;
    skos:definition "計測データを受け取って加工し、送り出す、ベンダーに依存しない中継のプログラム。レシーバー・プロセッサー・エクスポーターを設定し、serviceのpipelinesに並べたものだけが動く。"@ja ;
    skos:altLabel "Collector" ;
    skos:altLabel "otelcol" ;
    ks:uses <https://comcomponent.com/knowledge/otlp/> .

<https://comcomponent.com/knowledge/dotnet-ilogger/> a skos:Concept ;
    skos:prefLabel "Microsoft.Extensions.Logging(ILogger)"@ja ;
    skos:definition ".NET標準のログAPI。ログレベル・カテゴリ・出力先を差し替えるプロバイダーの仕組みを持ち、多くの.NET SDKに暗黙の参照として含まれる。"@ja ;
    skos:altLabel ".NET標準のILogger API"@ja ;
    skos:altLabel "ILogger / ロギング基盤"@ja ;
    skos:altLabel "ILogger<T>" .

<https://comcomponent.com/knowledge/dotnet-meter/> a skos:Concept ;
    skos:prefLabel "Meter(System.Diagnostics.Metrics)"@ja ;
    skos:definition ".NETのメトリクスのAPIで、名前の付いた計測器(Counter、Histogramなど)のまとまり。記録した値は、dotnet-countersやOpenTelemetryのような集計の道具が受け取る。"@ja ;
    skos:altLabel "System.Diagnostics.Metrics.Meter" ;
    ks:verifiedBy <https://comcomponent.com/knowledge/dotnet-counters/> .

<https://comcomponent.com/knowledge/dotnet-activitysource/> a skos:Concept ;
    skos:prefLabel "ActivitySource / Activity(.NET)"@ja ;
    skos:definition ".NETの分散トレースのAPI。ActivitySourceがActivityを作って開始し、OpenTelemetryの用語ではActivitySourceがTracerに、ActivityがSpanに当たる。"@ja ;
    skos:altLabel "System.Diagnostics.ActivitySource" ;
    skos:altLabel "System.Diagnostics.Activity" .

<https://comcomponent.com/knowledge/aspire-dashboard/> a skos:Concept ;
    skos:prefLabel "Aspireダッシュボード"@ja ;
    skos:definition "OTLPで送られたログ・メトリクス・トレースを表示する開発者向けの画面。Dockerのコンテナーとして単独で動かせ、本番の監視の道具ではない。"@ja ;
    skos:altLabel "Aspire Dashboard" ;
    ks:uses <https://comcomponent.com/knowledge/otlp/> .

<https://comcomponent.com/knowledge/dotnet-counters/> a skos:Concept ;
    skos:prefLabel "dotnet-counters"@ja ;
    skos:definition "実行中の.NETプロセスのGCやWorking Setなどの傾向をリアルタイムに監視する診断ツール。"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/opentelemetry/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dotnet-ilogger/> ;
    schema:description ".NETにはログのAPIがフレームワークに入っているので、OpenTelemetryの.NET実装は独自のログAPIを使う必要がなく、ILoggerで書かれたログを集める。ILoggerのログには、そのとき動いているActivityのトレースの識別子が自動で付く。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/diagnostics/observability-with-otel>, <https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/docs/logs/README.md> ;
    ks:verifiedAt "2026-11-08" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/opentelemetry/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dotnet-meter/> ;
    schema:description "OpenTelemetryの.NET実装は、System.Diagnostics.MetricsのMeterで記録されたメトリクスを集める。WithMetricsのAddMeterで名前を登録したMeterだけが対象になる。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/diagnostics/observability-with-otel>, <https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/docs/metrics/customizing-the-sdk/README.md> ;
    ks:verifiedAt "2026-11-08" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/opentelemetry/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dotnet-activitysource/> ;
    schema:description "OpenTelemetryの.NET実装は、ActivitySourceとActivityで記録されたトレースを集める。WithTracingのAddSourceで名前を登録したActivitySourceだけが対象になる。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/diagnostics/observability-with-otel>, <https://learn.microsoft.com/en-us/dotnet/core/diagnostics/distributed-tracing-instrumentation-walkthroughs> ;
    ks:verifiedAt "2026-11-08" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/opentelemetry/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/otlp/> ;
    schema:description ".NETのOTLPエクスポーターは、集めたログ・メトリクス・トレースをOTLPで送る。既定はgRPCで送り先はlocalhost:4317、HTTP(protobuf)ならlocalhost:4318(.NET Framework と .NET Standard 2.0 向けのビルドでは既定がHTTP)。UseOtlpExporterは3種類をまとめて送る設定で、一度しか呼べず、AddOtlpExporterと一緒には使えない。"@ja ;
    ks:evidence <https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/README.md>, <https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OtlpExporterOptions.cs> ;
    ks:verifiedAt "2026-11-08" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/opentelemetry-collector/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/otlp/> ;
    schema:description "Collectorはotlpのレシーバーで、アプリからOTLPで送られたデータをgRPCとHTTPで受け取る。受け付けるアドレスの既定はlocalhostで、受け取ったデータはエクスポーターで保存先へ送る。"@ja ;
    ks:evidence <https://opentelemetry.io/docs/collector/configuration/> ;
    ks:verifiedAt "2026-11-08" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/aspire-dashboard/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/otlp/> ;
    schema:description "AspireダッシュボードはDockerのコンテナーとして単独で動かせ、OTLPの受け口を持つ。送られたログ・メトリクス・トレースを表示する開発者向けの道具で、本番の監視の道具ではない。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/diagnostics/observability-otlp-example>, <https://aspire.dev/dashboard/standalone/> ;
    ks:verifiedAt "2026-11-08" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dotnet-meter/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/dotnet-counters/> ;
    schema:description "自分で作ったMeterの値は、dotnet-counters monitorの--countersにMeterの名前を渡すと、その場で見られる。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/diagnostics/metrics-instrumentation> ;
    ks:verifiedAt "2026-11-08" ;
    ks:certainty "established" .
