Flare by Spatie
    • Error Tracking
    • Performance Monitoring
    • Logs
  • Pricing
  • Docs
  • Insights
  • Changelog
  • Back to Flare ⌘↵ Shortcut: Command or Control Enter
  • Sign in
  • Try Flare for free
  • Error Tracking
  • Performance Monitoring
  • Logs
  • Pricing
  • Docs
  • Insights
  • Changelog
    • Back to Flare ⌘↵ Shortcut: Command or Control Enter
    • Try Flare for free
    • Sign in
Flare Flare PHP PHP JavaScript JavaScript Protocol Protocol
PHP
  • PHP
  • JavaScript
  • General
  • Introduction
  • Entry points
  • Resources
  • Attribute Formats
  • Events
  • Errors
  • Payload
  • Attributes
  • Traces
  • Payload
  • Lifecycle
  • Aggregations
  • Logs
  • Payload

Aggregations

View as Markdown

Flare aggregates spans by type to provide performance insights. Each aggregation groups spans by specific attributes, so you can track trends like "how is this query performing over time" or "which routes are slowest".

Aggregated Span Types

Routes (php_request)

Attribute Required
http.request.method yes
http.route no
flare.entry_point.handler.name no

Queries (php_query)

Attribute Required
db.statement yes
db.system no
laravel.db.connection no

Jobs (laravel_job)

Attribute Required
laravel.job.name yes
laravel.job.class no

Commands (php_command)

Attribute Required
process.command yes

External HTTP Requests (php_http_request)

Attribute Required
url.full yes
http.request.method yes

Flare reads the host and the path out of url.full. Sending server.address or url.path instead does not work, because the requirement is on url.full itself, and the span gets skipped. You can still send those two, they just are not what the grouping uses.

Before grouping, Flare strips UUIDs and numbers out of the path, so /api/orders/1234 and /api/orders/5678 end up in the same group.

Browser browser_fetch and browser_xhr spans use this aggregation type too. There is no separate browser one. Rows are keyed on the method, host and path rather than on the span type, so a browser request shares a row with a PHP one only when both call the same endpoint in the same project.

Views (php_view)

Attribute Required
view.name yes
view.type no

Livewire Components (laravel_livewire_component)

Attribute Required
livewire.component.name yes
livewire.component.class no
view.file no

A component can be aggregated when it has livewire.component.name and either livewire.component.class or livewire.component.single_file_component is true with a view.file present.

Browser Pages

Built from the browser span types. See Aggregations in the JavaScript protocol docs.

Aggregation Statistics

Flare calculates the following statistics for each aggregation:

Statistic Description
queries / query_time Database query count and total duration
views / view_time View render count and total duration
external_http_requests / external_http_request_time External HTTP call count and total duration
cache.hits / cache.misses / cache.sets / cache.forgets Cache operation counts
exceptions Exception count
boot_time / terminate_time Application lifecycle durations
Lifecycle Payload

On this page

  • Aggregated Span Types
  • Aggregation Statistics

Catch errors and fix slowdowns with Flare, the full-stack application monitoring platform for Laravel, PHP & JavaScript.

  • Platform
  • Error Tracking
  • Performance Monitoring
  • Pricing
  • Support
  • Resources
  • Insights
  • Newsletter
  • Changelog
  • Documentation
  • Affiliate program
  • uptime status badge Service status
  • Terms of use
  • DPA
  • Privacy & cookie Policy
Made in by Spatie logo
Flare