- Can I use AllStak Symfony Bundle with Laravel, or is it strictly for Symfony?
- This package is designed for Symfony 6.4/7.x, but the underlying `allstak/sdk-php` (which this bundle uses) powers Laravel packages like `allstak/sdk-laravel`. If you need Laravel support, check the dedicated Laravel SDK instead. The Symfony bundle leverages Symfony’s event system and container wiring, which won’t work natively in Laravel.
- How do I install and enable AllStak in Symfony without breaking existing Monolog or HTTP client setups?
- Install via Composer (`composer require allstak/sdk-symfony`), then set your `ALLSTAK_API_KEY` in `.env`. The bundle auto-detects and integrates with Monolog, Symfony’s HTTP client, and Doctrine DBAL without conflicts. If you need to disable specific integrations (e.g., HTTP or logs), use `allstak.yaml` to toggle them off individually.
- Does this bundle work with Symfony’s Messenger component for async message tracking?
- Yes, the bundle automatically captures Messenger messages, including spans for handled messages and error tracking for failures. This works out-of-the-box if you’re using Symfony’s built-in Messenger component. For custom transports, ensure they’re compatible with Symfony’s `MessageBus` interface.
- What Laravel versions does this package support, or is it a hard no for Laravel users?
- This package **does not support Laravel**—it’s built exclusively for Symfony 6.4/7.x. However, AllStak offers a separate Laravel SDK (`allstak/sdk-laravel`) with similar functionality. If you’re evaluating for Laravel, prioritize the Laravel-specific package, which integrates with Laravel’s service container, events, and queue systems.
- How do I test this bundle in a staging environment before deploying to production?
- Start by setting a test API key in your staging `.env` (`ALLSTAK_API_KEY=allstak_test_xxxxx`). Enable only critical integrations (e.g., `kernel: true`, `console: true`) in `allstak.yaml` to avoid overwhelming your staging logs. Use `sample_rate: 0.1` to forward only 10% of telemetry, then monitor performance and data volume before enabling full capture in production.
- Will this bundle slow down my Symfony app, especially for high-traffic HTTP endpoints?
- The bundle introduces minimal overhead for most use cases, but automatic instrumentation of HTTP calls, DB queries, and logs *can* add latency. Benchmark in staging with realistic traffic to measure impact. Disable non-essential integrations (e.g., `doctrine: false`) if DB query telemetry isn’t critical, or adjust `sample_rate` to reduce volume.
- Can I export traces to OpenTelemetry or other APM tools instead of sending them directly to AllStak?
- Currently, the bundle sends telemetry directly to AllStak’s servers. While the underlying `allstak/sdk-php` supports custom transport layers, exporting to OpenTelemetry isn’t natively supported in this Symfony bundle. For OpenTelemetry compatibility, consider using AllStak’s PHP SDK directly or check if AllStak plans to add OTLP support in future updates.
- How do I handle sensitive data (e.g., passwords in logs or breadcrumbs) to comply with GDPR?
- The bundle defaults to scrubbing personally identifiable information (`send_default_pii: false`). For additional control, customize PII scrubbing in `allstak.yaml` or use AllStak’s API to filter sensitive fields post-capture. Audit logs and breadcrumbs manually to ensure no sensitive data leaks, especially if you’re logging custom business logic.
- What happens if my Symfony app crashes or loses network connectivity while sending telemetry?
- Enable `enable_offline_queue: true` in `allstak.yaml` to persist undelivered telemetry locally and replay it when connectivity is restored. This requires writable filesystem storage and may add slight overhead. Disable this feature in serverless or read-only environments where local storage isn’t available.
- Are there alternatives to AllStak for Symfony observability that offer more flexibility or lower costs?
- Alternatives include Symfony bundles for OpenTelemetry (e.g., `symfony/otel-sdk`), New Relic’s Symfony integration, or Datadog’s APM. These often require manual instrumentation but provide vendor-neutral trace export. For cost-sensitive projects, consider sampling (`sample_rate`) or disabling non-critical integrations (e.g., `monolog: false`). Compare pricing models—AllStak’s model scales with telemetry volume, while some APMs charge per host.