Skip to content

[CLN] Make telemetry a no-op#6362

Closed
kylediaz wants to merge 4 commits intokylediaz02-24-_tst_make_pytest_use_importlibfrom
kylediaz02-06-_cln_make_telemetry_a_no-op
Closed

[CLN] Make telemetry a no-op#6362
kylediaz wants to merge 4 commits intokylediaz02-24-_tst_make_pytest_use_importlibfrom
kylediaz02-06-_cln_make_telemetry_a_no-op

Conversation

@kylediaz
Copy link
Contributor

@kylediaz kylediaz commented Feb 6, 2026

#6469

We do not collect telemetry anymore. This removes posthog as a dependency and makes the product telemetry impl a no-op.

I want to say on our docs that we do not collect telemetry, and I feel removing this instrumentation is a prerequisite.

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Reviewer Checklist

Please leverage this checklist to ensure your code review is thorough before approving

Testing, Bugs, Errors, Logs, Documentation

  • Can you think of any use case in which the code does not behave as intended? Have they been tested?
  • Can you think of any inputs or external events that could break the code? Is user input validated and safe? Have they been tested?
  • If appropriate, are there adequate property based tests?
  • If appropriate, are there adequate unit tests?
  • Should any logging, debugging, tracing information be added or removed?
  • Are error messages user-friendly?
  • Have all documentation changes needed been made?
  • Have all non-obvious changes been commented?

System Compatibility

  • Are there any potential impacts on other parts of the system or backward compatibility?
  • Does this change intersect with any items on our roadmap, and if so, is there a plan for fitting them together?

Quality

  • Is this code of a unexpectedly high quality (Readability, Modularity, Intuitiveness)

Copy link
Contributor Author

kylediaz commented Feb 6, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@kylediaz kylediaz requested review from HammadB and removed request for HammadB February 6, 2026 22:33
@kylediaz kylediaz changed the base branch from main to graphite-base/6362 February 24, 2026 19:43
@kylediaz kylediaz force-pushed the kylediaz02-06-_cln_make_telemetry_a_no-op branch from 1837f41 to 4014cd8 Compare February 24, 2026 19:43
@kylediaz kylediaz changed the base branch from graphite-base/6362 to kylediaz02-24-_tst_make_pytest_use_importlib February 24, 2026 19:43
propel-code-bot[bot]

This comment was marked as outdated.

@blacksmith-sh
Copy link
Contributor

blacksmith-sh bot commented Feb 24, 2026

Found 5 test failures on Blacksmith runners:

Failures

Test View Logs
test_cycle_versions[version_settings1] View Logs
test_cycle_versions[version_settings1] View Logs
test_cycle_versions[version_settings2] View Logs
test_cross_version_persist/test_cycle_versions[version_settings1][single-region] View Logs
test_cross_version_persist/test_cycle_versions[version_settings2][single-region] View Logs

Fix in Cursor

propel-code-bot[bot]

This comment was marked as outdated.

Copy link
Contributor

@propel-code-bot propel-code-bot bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Telemetry cleanup is nearly complete; remove redundant class and empty module for clarity.

Status: Minor Suggestions | Risk: Low

Issues Identified & Suggestions
  • Remove redundant NoOp class, use base directly: chromadb/telemetry/product/__init__.py
  • Delete emptied telemetry module to avoid dead stub: chromadb/telemetry/product/posthog.py
Review Details

📁 10 files reviewed | 💬 2 comments

👍 / 👎 individual comments to help improve reviews for you

except Exception:
self._curr_user_id = self.UNKNOWN_USER_ID
return self._curr_user_id
class NoOpProductTelemetryClient(ProductTelemetryClient):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommended

[Maintainability] The ProductTelemetryClient class is now a concrete implementation that performs no operations (since the abstract method decorator was removed). This makes NoOpProductTelemetryClient redundant as it simply overrides the method with the same no-op behavior.

Since you are updating the configuration to point to a NoOp implementation anyway, you can simplify the architecture by:

  1. Removing NoOpProductTelemetryClient entirely.
  2. Using ProductTelemetryClient directly in the configuration default.

This reduces boilerplate and keeps the class hierarchy cleaner.

Context for Agents
The `ProductTelemetryClient` class is now a concrete implementation that performs no operations (since the abstract method decorator was removed). This makes `NoOpProductTelemetryClient` redundant as it simply overrides the method with the same no-op behavior.

Since you are updating the configuration to point to a NoOp implementation anyway, you can simplify the architecture by:
1. Removing `NoOpProductTelemetryClient` entirely.
2. Using `ProductTelemetryClient` directly in the configuration default.

This reduces boilerplate and keeps the class hierarchy cleaner.

File: chromadb/telemetry/product/__init__.py
Line: 42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant