Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Iceberg MetricsReporter を OpenTelemetry に対応させてみ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Noritaka Sekiyama
July 14, 2026
Technology
67
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Iceberg MetricsReporter を OpenTelemetry に対応させてみた(道半ば)
OTFSG Osaka Meetup #2 (現地開催)のLT資料です。
Noritaka Sekiyama
July 14, 2026
More Decks by Noritaka Sekiyama
See All by Noritaka Sekiyama
Apache Iceberg REST catalog on AWS 〜AWS Glue Iceberg REST catalog と Amazon S3 Tables の話〜
moomindani
0
1.3k
今日からはじめる Apache Iceberg テーブルメンテナンス
moomindani
0
270
Other Decks in Technology
See All in Technology
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
会社説明資料
persolserverworks
0
9.8k
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.2k
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
440
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
860
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Optimizing for Happiness
mojombo
378
71k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Crafting Experiences
bethany
1
380
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
New Earth Scene 8
popppiees
4
2.7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Transcript
OT FSG O SAKA MEETUP # 2 · LT Iceberg
MetricsReporter を OpenTelemetry に対応させてみた (道半ば) Noritaka Sekiyama · Staff Forward Deployed Engineer, Databricks @moomindani
課題 Iceberg のテーブル操作、 どう監視してますか? Iceberg には MetricsReporter という仕組みがあり、scan / commit
のメトリクスをレポートできる 既存実装は LoggingMetricsReporter と RESTMetricsReporter のみ でも Prometheus / Datadog / CloudWatch などの Observability スタックには繋がっていなかった
つくったもの OtelMetricsReporter metrics-reporter-impl=org.apache.iceberg.metrics.OtelMetricsReporter scan / commit の MetricsReport を OpenTelemetry
の Counter / Histogram に変換して export OTLP 経由なので、Collector 経由で Prometheus / CloudWatch / Datadog / Grafana Cloud… ど こにでも飛ばせる https://github.com/apache/iceberg/pull/16250
設計判断 ① Reporter は SDK を持たない 当初案 Reporter が自前で OpenTelemetrySdk
を構築 ( otel.endpoint 等の catalog property) → 採用した設計 ホストアプリ(Spark / Flink / Trino)が GlobalOpenTelemetry に SDK を登録。 Reporter は .get() を呼ぶだけ SDK のライフサイクルはホスト側が持つ — Reporter は薄いまま 理由: 同種の OTel 統合(#14360 HTTPClient OTel PR)と設計思想を揃えた
設計判断 ② カーディナリティ対策 レビューで届いた実運用の失敗談 — STARBURST / GRANT NICHOLAS 「テーブル数千規模で
per-table attribute がカーディナリティ爆発 → metrics から span ベースに逃げた」 iceberg.otel.metrics.attributes allowlist を追加(table-name / schema-id / operation を選択可能) デフォルトは table-name + operation、snapshot-id は設計上ずっと除外
デモ 実際の Prometheus グラフ rate(iceberg_commit_records_added_total[30s]) — scan / commit を回し続けた際の実際のグラフ。
OtelMetricsReporter → OTLP → otelcol-contrib → Prometheus でローカル検証。
OSS での合意形成 ここまでの流れ 01 dev@ に DISCUSS スレッドを投稿(依存追加の是非を問う) 02 Ryan
Blue, Yufei Gu, Talat Uyarer, Grant Nicholas から +1 — 依存関係の懸念は解消 03 PMC(Daniel Weeks)から質問 — 「これは "operational" な telemetry なのか?導入すべきものか?」 04 → ドキュメント化済みの MetricsReporter → Observability という既存の道を productize してい るだけ、と返信し 目下回答待ち
今ココ マージはまだ。道半ば。 ✓ コード品質面のレビュー(nastra: メトリクス instrument をラッパークラスに整理)は対応完了 … PMC からの根本的な問い(observability
の範囲として妥当か)はまだ決着していない
DIS CUS SION Iceberg でメトリクス欲しい人、 リアクションください! SDK 非所有の設計、妥当だと思う? カーディナリティ対策、他にいいアイデアある? PMC
の「これは運用メトリクスか」という問い、どう思う? PR github.com/apache/iceberg/pull/16250 github.com/apache/iceberg/pull/16250
おまけ:終わらない戦い Iceberg Contribution Status (moomindani@) Repository PR Title Status apache/iceberg
#15557 Spark: Delegate temp file deletion to JUnit in TestParquetVectorizedReads Merged apache/iceberg #15558 Core: fix propertiesWithPrefix to strip prefix literally, not as regex Merged apache/iceberg #15559 REST: add boolean to Expression schema in OpenAPI spec Closed apache/iceberg #15594 Spark: Add scd_type2 option to create_changelog_view procedure Closed apache/iceberg #16250 Core: Add OpenTelemetry MetricsReporter WIP apache/iceberg #16574 Core: Add table-name filter for MetricsReporter WIP apache/iceberg #16680 Build: Bump caffeine from 2.9.3 to 3.2.0 WIP apache/iceberg-python #3474 Add PuffinWriter for writing deletion vectors WIP apache/iceberg-python #3476 Add Spark interop test for reading Puffin deletion vectors WIP apache/iceberg-python #3623 Support upgrading tables to format version 3 WIP apache/iceberg-python #3624 Support writing V3 manifests and manifest lists WIP apache/iceberg-python #3630 Read tables with multi-argument transforms as unknown transforms WIP apache/iceberg-python #3631 Support rewrite_manifests table maintenance WIP apache/iceberg-rust #2790 Parse unrecognized transform names as Transform::Unknown WIP 2026-07-10 時点 / author: moomindani