Skip to content

Conversation

@gouslu
Copy link
Contributor

@gouslu gouslu commented Jan 6, 2026

  • Reuse buffer across log records
  • Schema pre-parsing to avoid parsing for each transformation
  • Use enum matching instead of string comparisons for log record fields
  • Use Cow for HashMap lookups and eq_ignore_ascii_case to avoid temporary strings
  • Remove "disable_schema_mapping", not needed for customers

@github-actions github-actions bot added the rust Pull requests that update Rust code label Jan 6, 2026
@codecov
Copy link

codecov bot commented Jan 6, 2026

Codecov Report

❌ Patch coverage is 98.68421% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.08%. Comparing base (f913bbf) to head (2fbc0c4).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1731      +/-   ##
==========================================
+ Coverage   84.06%   84.08%   +0.02%     
==========================================
  Files         469      470       +1     
  Lines      136284   136558     +274     
==========================================
+ Hits       114561   114828     +267     
- Misses      21189    21196       +7     
  Partials      534      534              
Components Coverage Δ
otap-dataflow 85.37% <98.68%> (+0.03%) ⬆️
query_abstraction 80.61% <ø> (ø)
query_engine 90.39% <ø> (ø)
syslog_cef_receivers ∅ <ø> (∅)
otel-arrow-go 53.50% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@gouslu gouslu marked this pull request as ready for review January 6, 2026 20:51
@gouslu gouslu requested a review from a team as a code owner January 6, 2026 20:51
Copy link
Contributor

@drewrelmas drewrelmas left a comment

Choose a reason for hiding this comment

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

You mention perf improvements - do you have benchmarks of before and after? I wonder if we should add these experimental components into benchmarks like the rest of primary components.

impl LogRecordField {
/// Parse a field name string into a LogRecordField enum
fn from_str(s: &str) -> Option<Self> {
if s.eq_ignore_ascii_case("time_unix_nano") {
Copy link
Contributor

Choose a reason for hiding this comment

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

Not a blocker, but depending on how #1725 turns out, maybe we want to support aliases for the OpenTelemetry log data model spec naming convention. You're already partially flexible thanks to the case insensitivity.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I didn't bench it particularly, but I saw an about 3%-5% throughput increase in my local tests!

@lalitb
Copy link
Member

lalitb commented Jan 7, 2026

Remove "disable_schema_mapping", not needed for customers

Nit - This is still there in readme and yaml.

@gouslu
Copy link
Contributor Author

gouslu commented Jan 7, 2026

addressed the comments, ready to merge.

@drewrelmas drewrelmas added this pull request to the merge queue Jan 7, 2026
Merged via the queue into open-telemetry:main with commit a2b3698 Jan 7, 2026
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rust Pull requests that update Rust code

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants