Skip to content

[FEATURE] Encina.Rollbar - Rollbar Error Monitoring Integration #619

@dlrivada

Description

@dlrivada

Summary

Create Encina.Rollbar package for Rollbar error monitoring integration.

Motivation

Rollbar is a real-time error monitoring platform:

  1. Real-Time Alerts: Instant error notifications
  2. Intelligent Grouping: Automatic error deduplication
  3. Person Tracking: Associate errors with users
  4. Automation: Integrate with issue trackers

Proposed Solution

public static class RollbarExtensions
{
    public static IServiceCollection AddEncinaRollbar(
        this IServiceCollection services,
        Action<RollbarOptions> configure)
    {
        var options = new RollbarOptions();
        configure(options);
        
        services.AddRollbar(builder =>
        {
            builder.ConfigureRollbar(rollbarConfig =>
            {
                rollbarConfig.AccessToken = options.AccessToken;
                rollbarConfig.Environment = options.Environment;
            });
        });
        
        return services;
    }
}

Alternatives Considered

  1. Use Sentry instead: Sentry has broader adoption and richer SDK, but Rollbar excels at intelligent error grouping and has a simpler pricing model for some use cases.

  2. OpenTelemetry-only approach: Could rely solely on OpenTelemetry for error tracking, but dedicated error monitoring platforms provide better error analysis, deduplication, and alerting workflows.

Affected Packages

  • Encina (core)
  • Encina.EntityFrameworkCore
  • Encina.Dapper.*
  • Encina.ADO.*
  • Encina.AspNetCore
  • Encina.OpenTelemetry
  • Encina.Caching.*
  • Other: Encina.Rollbar (new package)

Additional Context

Acceptance Criteria

  • Encina.Rollbar package
  • Rollbar client configuration
  • ASP.NET Core middleware
  • Encina messaging error handler
  • ServiceCollection extensions
  • Unit tests
  • Documentation

Package Dependencies

  • Rollbar.NetCore.AspNet

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions