Skip to content

Conversation

@lievan
Copy link
Contributor

@lievan lievan commented Jun 27, 2025

For this prompt caching pr DataDog/dd-trace-py#13757

@sabrenner sabrenner added no-releasenote This PR does not require a releasenote entry and removed no-releasenote This PR does not require a releasenote entry labels Jun 27, 2025
Copy link
Contributor

@sabrenner sabrenner left a comment

Choose a reason for hiding this comment

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

i would just add a small rel note saying that we add anthropic support in proxying

@lievan
Copy link
Contributor Author

lievan commented Jun 27, 2025

/merge

@dd-devflow
Copy link

dd-devflow bot commented Jun 27, 2025

View all feedbacks in Devflow UI.

2025-06-27 20:41:33 UTC ℹ️ Start processing command /merge


2025-06-27 20:41:41 UTC ℹ️ MergeQueue: waiting for PR to be ready

This merge request is not mergeable yet, because of pending checks/missing approvals. It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2025-06-27 20:44:15 UTC ℹ️ MergeQueue: merge request added to the queue

The expected merge time in master is approximately 0s (p90).


2025-06-27 20:44:23 UTCMergeQueue: This merge request is not mergeable, blocked by github

PR can't be merged according to github policy

@Kyle-Verhoog Kyle-Verhoog merged commit 84a343e into master Jun 27, 2025
21 of 22 checks passed
@Kyle-Verhoog Kyle-Verhoog deleted the evan.li/ant branch June 27, 2025 21:52
lievan added a commit to DataDog/dd-trace-py that referenced this pull request Jul 7, 2025
Tracks number of tokens read from and written to the prompt cache for
anthropic

https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching

anthropic returns `cache_creation/read_input_tokens` in their usage
field.

We map these to `cache_write/read_input_tokens` keys in our `metrics`
field.

Testing is blocked on
DataDog/dd-apm-test-agent#217

### implementation note
Right now, we are using `get_llmobs_metrics_tags` to set metrics for
anthropic, which depends on using `set_metric` and `get_metric`. We do
not want to continue this pattern for prompt caching, so we instead
directly extract it out from `response.usage`field.

The caveat is that for the streamed case, the `usage` field is a
dictionary that is manually constructed by us when parsing out streamed
chunks

### Follow ups
1. Move all the unit tests to use `llmobs_events` fixture
2. De-couple `metrics` parsing from set/get metrics completely

## Checklist
- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

## Reviewer Checklist
- [x] Reviewer has checked that all the criteria below are met 
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
alyshawang pushed a commit to DataDog/dd-trace-py that referenced this pull request Jul 25, 2025
Tracks number of tokens read from and written to the prompt cache for
anthropic

https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching

anthropic returns `cache_creation/read_input_tokens` in their usage
field.

We map these to `cache_write/read_input_tokens` keys in our `metrics`
field.

Testing is blocked on
DataDog/dd-apm-test-agent#217

### implementation note
Right now, we are using `get_llmobs_metrics_tags` to set metrics for
anthropic, which depends on using `set_metric` and `get_metric`. We do
not want to continue this pattern for prompt caching, so we instead
directly extract it out from `response.usage`field.

The caveat is that for the streamed case, the `usage` field is a
dictionary that is manually constructed by us when parsing out streamed
chunks

### Follow ups
1. Move all the unit tests to use `llmobs_events` fixture
2. De-couple `metrics` parsing from set/get metrics completely

## Checklist
- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

## Reviewer Checklist
- [x] Reviewer has checked that all the criteria below are met 
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants