• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Logflare / logflare / de8a820cc27a4efe435cfc280b6f393966b36897
81%

Build:
DEFAULT BRANCH: main
Ran 27 Jul 2026 06:01PM UTC
Jobs 1
Files 495
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Jul 2026 05:48PM UTC coverage: 81.472% (+0.008%) from 81.464%
de8a820cc27a4efe435cfc280b6f393966b36897

push

github

web-flow
fix+perf: removes DateTime usage from BQ hot code path, unix ns handling (#3557)

* fix+perf: removes DateTime usage from BQ hot code path, and refines the schema determination for otel timestamp fields

* chore: PR comments

* fix: share one OTel timestamp predicate between BQ schema typing and value conversion (#3742)

* fix: share one OTel timestamp predicate between BQ schema typing and value conversion

The BigQuery path had two independent definitions of "start_time/end_time
is a timestamp": SchemaBuilder typed the column via TypeDetection.detect/1
while convert_to_seconds/1 converted values on field name + magnitude alone.
When they disagreed (e.g. a plain log with a nanosecond-range integer
start_time), a float value was ingested into an INTEGER-typed column.

Introduce TypeDetection.otel_timestamps?/1 as the single shared predicate
(detected :metric/:trace, or OTel-shaped resource+scope payloads) and use it
in both paths. le_to_bq_row/1 and log_event_to_df_struct/1 compute it on the
raw event body before ingest transformation, since map-wrapping breaks the
metadata.type fast path.

Also fixes the convert_to_seconds/2 microsecond clause writing the timestamp
value into the field under conversion, and restores the resource+scope
behavior asserted by schema_builder_test (failing on CI).


* fix: detect otel_timestamps once at ingest and store on LogEvent

Avoids re-running OTel detection in the BQ hot path: LogEvent.make/3 and
make_from_spool/2 compute the flag once (reusing the already-detected
event_type) and le_to_bq_row/1 / log_event_to_df_struct/1 read it off the
struct. Also use :math.pow for the second-conversion divisors.


* fix: narrow otel_timestamps to the metric/trace signal and condense conversion

Drops the resource+scope shape heuristic - otel_timestamps?/1 now accepts raw
params or a precomputed event type and only honors detected :metric/:trace.
OTel test payloads carry metadata.type, matching what the OTEL processors set.
Cond... (continued)

13 of 15 new or added lines in 4 files covered. (86.67%)

7 existing lines in 3 files now uncovered.

13631 of 16731 relevant lines covered (81.47%)

11948.6 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
92.31
-7.69% lib/logflare/google/bigquery/event_utils.ex

Coverage Regressions

Lines Coverage ∆ File
5
66.67
-20.83% lib/logflare/backends/consolidated_sup_worker.ex
1
82.64
-0.83% lib/logflare/backends/adaptor/clickhouse_adaptor/connection_manager.ex
1
81.61
-1.15% lib/telemetry.ex
Jobs
ID Job ID Ran Files Coverage
1 de8a820cc27a4efe435cfc280b6f393966b36897.1 27 Jul 2026 06:01PM UTC 495
81.47
GitHub Action Run
Source Files on build de8a820cc27a4efe435cfc280b6f393966b36897
  • Tree
  • List 495
  • Changed 12
  • Source Changed 0
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • de8a820c on github
  • Prev Build on main (#6163F93B...)
  • Next Build on main (#B353C287...)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc