Analyzed Data and Metrics in Uplinkr
Overview
Section titled “Overview”The analyzed.json file contains aggregated statistics and analytics for all probes within a project. It provides both lifetime metrics and daily breakdowns of probe execution results.
File Location
Section titled “File Location”storage/app/private/uplinkr/<project-name>/analyzed.jsonStructure
Section titled “Structure”The file is organized by project identifier, with nested time-based aggregations:
{ "<project_identifier>": { "": { // Lifetime statistics // ... metrics }, "YYYY-MM-DD": { // Daily statistics // ... metrics } }}Data Fields
Section titled “Data Fields”Each aggregation (lifetime or daily) contains:
| Field | Type | Description |
|---|---|---|
url | string | The monitored URL |
total | integer | Total number of probe executions |
reachable | integer | Number of successful responses |
unreachable | integer | Number of failed responses |
error | integer | Number of error responses |
unknown | integer | Number of unknown status responses |
first_executed_at | ISO 8601 datetime | Timestamp of first probe execution |
last_executed_at | ISO 8601 datetime | Timestamp of most recent probe execution |
avg_duration_ms | float | Average response time in milliseconds |
status_header_counts | object | Count of HTTP status codes received |
Example
Section titled “Example”{ "my_project": { "": { "url": "https://example.com/", "total": 100, "reachable": 98, "unreachable": 2, "error": 0, "unknown": 0, "first_executed_at": "2026-01-01T00:00:00+00:00", "last_executed_at": "2026-02-03T08:00:00+00:00", "avg_duration_ms": 245.5, "status_header_counts": { "200": 98, "503": 2 } }, "2026-02-03": { "url": "https://example.com/", "total": 24, "reachable": 24, "unreachable": 0, "error": 0, "unknown": 0, "first_executed_at": "2026-02-03T00:00:15+00:00", "last_executed_at": "2026-02-03T23:45:30+00:00", "avg_duration_ms": 198.3, "status_header_counts": { "200": 24 } } }}Understanding the Data
Section titled “Understanding the Data”Lifetime Statistics ("" key)
Section titled “Lifetime Statistics ("" key)”The empty string key contains cumulative statistics across all probe executions since the project was initialized. This provides an overall health picture of the monitored endpoint.
Daily Statistics (YYYY-MM-DD keys)
Section titled “Daily Statistics (YYYY-MM-DD keys)”Each date key contains statistics for that specific day, allowing you to:
- Track daily performance trends
- Identify patterns or anomalies
- Compare response times across different time periods
Status Categories
Section titled “Status Categories”- reachable: HTTP responses indicating successful connection (typically 2xx status codes)
- unreachable: Connection failures or timeouts
- error: HTTP error responses (4xx, 5xx status codes)
- unknown: Responses that don’t fit other categories
Generation
Section titled “Generation”The analyzed.json file is generated and updated by the project:analyze command:
php artisan uplinkr:project:analyze --project=my-projectUse Cases
Section titled “Use Cases”- Performance monitoring: Track average response times over time
- Reliability analysis: Calculate uptime percentages from reachable/unreachable counts
- Trend detection: Compare daily statistics to identify degradation
- Reporting: Generate summaries without processing individual probe files
Related Topics
Section titled “Related Topics”- Project Files - Overview of project file structure
- Probe Data - Individual probe execution results
- project:analyze command - Generating analyzed data
- Storage Structure - Overall storage architecture