Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

feat(redis): add DD_TRACE_REDIS_LIFECYCLE_COMMANDS_ENABLED to disable lifecycle spans

オープン
#3,753 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@jbdelhommeau がすでに取り組んでいます。

2026年3月30日 から。

  • #3757 @jbdelhommeau による — オープン

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
72/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
php, redis
領域
observability

調査の方向性

ext/configuration.h と既存の DD_TRACE_PDO_PREPARED_STATEMENTS_ENABLED パターンから始め、次に PHPRedisIntegration.php と PredisIntegration.php の hook 登録を確認します。metadata/supported-configurations.json を更新し、両方のインテグレーションのテストを追加します。新しい boolean がデフォルトで true になり、false の場合にリストされたライフサイクル span だけを無効化し、接続メタデータとデータコマンドのトレーシングを維持すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Stale

Summary

Add DD_TRACE_REDIS_LIFECYCLE_COMMANDS_ENABLED (boolean, default true) to allow users to disable tracing of Redis lifecycle/admin/introspection operations independently from data commands.

Motivation

Applications using Redis heavily generate many low-value spans (connect, close, auth, ping, getHost, isConnected, bgSave, etc.) that add noise without observability value. Users want to reduce span volume without disabling the entire Redis integration.

Proposed behaviour

When DD_TRACE_REDIS_LIFECYCLE_COMMANDS_ENABLED=false:

  • PHPRedis: 27 lifecycle methods NOT traced: connect, pconnect, open, popen, close, auth, select, ping, echo, isConnected, getHost, getPort, getDbNum, getTimeout, getReadTimeout, bgRewriteAOF, bgSave, flushAll, flushDb, save, restore, swapdb, _serialize, _unserialize, getLastError, clearLastError, RedisCluster.__construct
  • Predis: 3 methods NOT traced: __construct, connect, executePipeline
  • Connection metadata (ObjectKVStore) is preserved so data command spans still have out.host tags
  • All 120+ data commands (get, set, hGet, etc.), multi, exec remain traced

Prior art

Same pattern as DD_TRACE_PDO_PREPARED_STATEMENTS_ENABLED (PR #3752) and Go tracer's WithIgnoreQueryTypes.

Implementation scope

  • ext/configuration.h — declare CONFIG(BOOL, DD_TRACE_REDIS_LIFECYCLE_COMMANDS_ENABLED, "true")
  • src/DDTrace/Integrations/PHPRedis/PHPRedisIntegration.php — conditional hook registration
  • src/DDTrace/Integrations/Predis/PredisIntegration.php — conditional hook registration
  • metadata/supported-configurations.json — document the variable
  • Tests for both integrations
主要言語
PHP
スター
558
フォーク
190
平均マージ
2日 4時間
マージ済み PR(30日)
96

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

DataDog/dd-trace-php のほかの issue

DataDog/dd-trace-php の issue をすべて見る

似ている issue

PHP の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。