rosalana/tracker

Rosalana tracker is a package that helps trace and log application activities in Rosalana ecosystem.

Maintainers

Package info

github.com/rosalana/tracker

pkg:composer/rosalana/tracker

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.0.6 2026-03-22 15:53 UTC

This package is auto-updated.

Last update: 2026-03-22 15:54:25 UTC


README

This package is a part of the Rosalana eco-system. It provides tracing and logging functionalities for applications built within the Rosalana ecosystem.

Note: This package is a extension of the Rosalana Core package.

Table of Contents

Installation

To install the rosalana/traker package, you must first have the rosalana/core package installed. If you haven't installed it yet, please refer to the rosalana/core documentation.

After installing the rosalana/core package, use the rosalana:add command from the Rosalana CLI and select rosalana/tracker from the list:

php artisan rosalana:add

After installing the package, you should publish its assets using the following command:

php artisan rosalana:publish

You can specify which files to publish. Publishing the configuration files is required to set up the package properly. Other files are optional and can be published as needed. However, it is recommended to publish all files to take full advantage of the package features.

Configuration

After publishing the package, you will find a rosalana.php configuration file in the config directory of your Laravel application. You can customize these options according to your needs.

This file will grow over time as you add more Rosalana packages to your application. Each package contributes its own configuration section. The rosalana.php file serves as the central configuration hub for all Rosalana packages.

rosalana/tracker package provides configuration options for:

  • tracker: Settings related to tracing functionalities, such as enabling/disabling tracing, setting log behavior, and etc.

Features

Route Tracking

The tracker package automatically tracks incoming HTTP requests and logs relevant information, including request method, URL, headers, and response status. This helps in monitoring application performance and identifying potential bottlenecks.

Tracking is separated by route groups, allowing you to see how different sections of your application are performing.

Exception Logging

The tracker package captures and logs exceptions that occur within the application. It records details such as exception type, message, stack trace, and context information. This aids in debugging and identifying issues in the application.

Exceptions can be send to external monitoring immediately if you provide the exception class names in the configuration. Other exceptions are stored in the database and sent in batches periodically.

Service Tracking

The tracker package integrates with various services within the Rosalana ecosystem, such as Outpost and Basecamp. It tracks interactions with these services, logging request and response data, headers, and status codes. This allows you to monitor the communication between your application and external services.

Events

The tracker package dispatches Laravel events at key points in the tracking lifecycle. You can listen to these events to extend tracker behavior or react to tracking activity.

Core Events (from rosalana/core)

The tracker listens to the following core events to automatically capture service interactions:

Event Trigger
Rosalana\Core\Events\OutpostMessageSent An Outpost message was sent
Rosalana\Core\Events\OutpostMessageReceived An Outpost message was received
Rosalana\Core\Events\BasecampRequestSent A Basecamp HTTP request completed

Tracker Events (from rosalana/tracker)

The tracker dispatches its own events that you can listen to:

Event Trigger Payload
Rosalana\Tracker\Events\ReportCollected A report was stored to the local database (deferred) $event->report
Rosalana\Tracker\Events\ReportDispatched A report was sent immediately to Basecamp $event->report
Rosalana\Tracker\Events\ReportsFlushed Sent reports were cleaned up from the database $event->reports

Example usage:

use Rosalana\Tracker\Events\ReportCollected;

Event::listen(function (ReportCollected $event) {
    // React to a new report being stored
    $report = $event->report;
});

License

Rosalana Accounts is open-source under the MIT license, allowing you to freely use, modify, and distribute it with minimal restrictions.

You may not be able to use our systems but you can use our code to build your own.

For details on how to contribute or how the Rosalana ecosystem is maintained, please refer to each repository’s individual guidelines.

Questions or feedback?

Feel free to open an issue or contribute with a pull request. Happy coding with Rosalana!