Charts
The Charts resource lets you build and save custom visualizations for any of Laritor’s tracked data—requests, queries, jobs, cache hits, exceptions, outbound calls, mails, notifications, and users. You can filter data to focus on specific subsets, choose from multiple chart types, and configure default time windows for viewing.
Navigation: Access Charts via the sidebar under the “Charts” section.
1. Charts Index
Section titled “1. Charts Index”The Charts index displays all custom charts you have created, each represented as a card. From here, you can view, edit, or delete any chart.
1.1 Chart Cards
Section titled “1.1 Chart Cards”-
Card Contents
- Chart Name: The user-defined title for the chart (e.g.,
Weekly Error Rates
,Active Users by Region
). - Action Icons:
- View 🖥️: Opens the chart’s view page, displaying the visualization with the data you selected.
- Edit ✏️: Opens the chart creation form pre-populated with the chart’s current configuration.
- Delete 🗑️: Removes the chart permanently (you will be prompted to confirm).
- Chart Name: The user-defined title for the chart (e.g.,
-
Layout
- Cards are laid out in a grid. If you have more than one screenful of charts, scroll or paginate as needed.
1.2 Create Chart Button
Section titled “1.2 Create Chart Button”In the top-right corner of the index, click Create Chart to open the Chart Creation page. This is where you configure a new custom chart from scratch.
2. Chart Creation
Section titled “2. Chart Creation”Clicking Create Chart brings you to a form where you define all aspects of your custom chart. The form fields are:
-
Chart Name
- A descriptive title for the chart (required).
-
Resource
- Select one of the tracked resources to chart:
Requests
Queries
Queued Jobs
Cache Hits
Exceptions
Outbound Requests
Mails
Notifications
Users
- Your choice here determines which filters and data fields become available.
- Select one of the tracked resources to chart:
-
Filters
-
Depending on the Resource selected, a set of filter controls appears. You may add multiple filters to narrow down the data. Available filters by resource:
- Requests:
- Request Method (
GET
,POST
,PUT
,PATCH
,DELETE
) - Route (list of all detected routes)
- Suspicious (boolean badge)
- Bot (boolean badge)
- Request Status (
2xx
,3xx
,4xx
,5xx
) - User (list of users)
- Duration (numeric, milliseconds)
- Memory (numeric, megabytes)
- Request Method (
- Queries:
- Duration (numeric, milliseconds)
- N+1 (boolean badge)
- Duplicate (boolean badge)
- Queued Jobs:
- Connection (e.g.,
redis
,database
,sqs
) - Queue (specific queue name)
- Duration (numeric, milliseconds)
- Wait Time (numeric, milliseconds)
- Status (
WAITING
,PROCESSED
,FAILED
)
- Connection (e.g.,
- Cache Hits:
- Cache Key (text search)
- Cache Hit (boolean badge:
true
orfalse
)
- Outbound Requests:
- Request Method (
GET
,POST
, etc.) - Status Code (numeric or badge filter:
SUCCESS
,FAILED
) - Duration (numeric, milliseconds)
- Request Method (
- Mails:
- Mailable (list of Mailable class names)
- To (email search)
- Subject (text search)
- Notifications:
- Notification (list of Notification class names)
- Notifiable (list of user or model identifiers)
- Users:
- All filters from Requests plus an additional User filter (to focus on specific user IDs or emails).
- Requests:
-
You can stack multiple filter criteria; the resulting chart will reflect the intersection of all selected filters.
-
-
Chart Type
- Choose a visualization format:
- Items List (a paginated table of rows)
- Bar Chart
- Pie Chart
- Line Chart
- Choose a visualization format:
-
Group By
- Select the field or fields by which to group the data. For example:
- Requests: group by
Route
,User
, orStatus
- Queries: group by
Query Text
orConnection
- Jobs: group by
Queue
orStatus
- Cache Hits: group by
Cache Key
- Exceptions: group by
Exception Class
- Outbound Requests: group by
Request Method
orStatus
- Mails: group by
Mailable
- Notifications: group by
Notification Class
- Users: group by
User ID
orEmail
- Requests: group by
- Select the field or fields by which to group the data. For example:
-
Order By
- Choose a sort order for the grouped data. Common options include:
- Count Desc (highest count first)
- Average Duration Desc (for resources with a duration field)
- Alphabetical Asc/Desc (by the group label)
- Choose a sort order for the grouped data. Common options include:
-
Limit
- A numeric input to cap the number of groups displayed (e.g., top 10, top 25). This is useful for focusing on the most significant categories and avoiding chart clutter.
-
Fields to Display (Items List only)
- (Visible only when Chart Type is Items List)
- A multi-select dropdown listing columns relevant to the chosen resource. For example:
- Requests:
URL
,Duration
,Status
,User
,Memory
- Queries:
Query Text
,Duration
,Occurrence
- Jobs:
Job Class
,Wait Time
,Duration
,Status
- Cache Hits:
Cache Key
,Hit/Miss
,Occurrence
- Exceptions:
Exception Class
,File & Line
,Last Occurred At
- Outbound Requests:
URL
,Status
,Duration
- Mails:
Mailable
,To
,Subject
- Notifications:
Notification Class
,Notifiable
- Users:
User ID
,User Name
,Email
- Requests:
-
Default View Duration
-
Select the time window that should be loaded by default when viewing the saved chart:
- 5 Minutes
- 15 Minutes
- 30 Minutes
- 1 Hour
- 3 Hours
- 6 Hours
- 12 Hours
- 24 Hours
- 3 Days
- 7 Days
- 14 Days
- 30 Days
-
This controls the initial date range scope when you open the chart, though you can adjust it later on the Chart View page.
-
-
Save
- Once all fields are configured, click Save to create the chart. You will be redirected automatically to the Chart View page, where your new chart is rendered with the selected data and filters.
Tip: Give charts descriptive names like “Top 10 Slow Queries (Last 24h)” so that you and your team can easily find and reuse them.
3. Chart View
Section titled “3. Chart View”After creating or selecting a chart from the index, you land on the Chart View page. Here, the chart is rendered according to the type and configuration you specified.
3.1 Header & Timeframe Controls
Section titled “3.1 Header & Timeframe Controls”-
Chart Title
- Displays the Chart Name at the top of the page.
-
Timeframe Selector
- A dropdown (or tabs) matching the Default View Duration options (
5m
,15m
,30m
,1h
,3h
,6h
,12h
,24h
,3d
,7d
,14d
,30d
). - Changing this selector reloads the chart data to reflect the chosen window.
- A dropdown (or tabs) matching the Default View Duration options (
-
Edit & Delete Icons
- Edit ✏️: Opens the Chart Creation form with existing settings pre-loaded for modification.
- Delete 🗑️: Removes the chart after a confirmation prompt.
3.2 Chart Display
Section titled “3.2 Chart Display”Depending on Chart Type, you will see one of the following:
-
Line Chart
- A time-series plot with one or more lines representing grouped metric values (e.g., average request duration over time, total queries per minute).
- The X-axis represents time (per the selected timeframe), and the Y-axis shows numeric values (counts, durations, percentages).
-
Bar Chart
- A vertical bar chart where each bar corresponds to a grouping (e.g., count of exceptions by class).
- Bars are ordered according to your Order By setting. Hover over any bar to view the exact value.
-
Pie Chart
- A circular chart divided into slices representing percentage breakdowns of a grouped category (e.g., request status distribution:
2xx
,4xx
,5xx
). - Hover over slices to view absolute counts and percentages.
- A circular chart divided into slices representing percentage breakdowns of a grouped category (e.g., request status distribution:
-
Items List
- A table of rows showing individual records that match your filters, limited by the Limit you specified.
- Columns correspond to the Fields to Display you chose (for example:
URL
,Duration
,Status
,Occurrence
). - Include pagination if you exceed the row limit per page.
Tip: If your chart appears sparse, try broadening the timeframe or removing overly restrictive filters.
4. Best Practices
Section titled “4. Best Practices”-
Start with Clear Objectives
- Before building a chart, decide whether you need to monitor trends (use Line Chart), distribution (use Pie Chart), or categorical comparisons (use Bar Chart).
-
Leverage Grouping Strategically
- For high-cardinality data (e.g., hundreds of routes), setting an appropriate Limit (e.g., top 10) prevents overcrowding and highlights the most significant groups.
-
Use Time Windows for Context
- When troubleshooting a spike, set the timeframe to 1 Hour or 3 Hours. For capacity planning, switch to 7 Days or 30 Days to spot weekly or monthly patterns.
-
Combine Multiple Charts
- Create separate charts for related metrics (for example, one for average request duration and another for query count) and display them side by side on a dashboard. This helps correlate events (e.g., high query volume coinciding with slow requests).
-
Iterate and Refine Filters
- Start with broad filters, then narrow down (e.g., filter Requests by all
5xx
status codes, then add a Route filter to focus on a problematic endpoint).
- Start with broad filters, then narrow down (e.g., filter Requests by all
-
Document Chart Definitions
- In the chart name or an external document, include notes on what each filter does and why the grouping was chosen. This aids collaboration and future maintenance.
-
Test AI-Generated Queries
- If you ask AI (via DB Schema) to generate SQL for a chart, validate that SQL against a staging database before applying it to production.
By using the Charts resource, you can visualize any slice of your application’s telemetry—combining flexible filters, multiple chart types, and time-based controls—to gain insights and monitor trends with minimal effort.