- Add
Appsignal.instrument_sql
convenience methods. PR #136 - Use
Appsignal.instrument
internally instead of ActiveSupport instrumentation. PR #142 - Override ActiveSupport instrument instead of subscribing. PR #150
- Remove required dependency on ActiveSupport. Recommended you use
Appsignal.instrument
if you don't needActiveSupport
. PR #150 #142 - Use have_library to link the AppSignal extension
libappsignal
. PR #148 - Rename
appsignal_extension.h
toappsignal.h
. Commit 9ed7c8d83f622d5a79c5c21d352b3360fd7e8113 - Refactor rescuing of Exception. PR #173
- Use GC::Profiler to track garbage collection time. PR #134
- Detect if AppSignal is running in a container or Heroku. PR #177 #178
- Change configuration load order to load environment settings after
appsignal.yml
. PR #178 - Speed up payload generation by letting the extension handle it. PR #175
- Improve
appsignal diagnose
formatting and output more data. PR #187 - Remove outdated
appsignal:diagnose
rake tasks. Useappsignal diagnose
instead. PR #193 - Fix JavaScript exception without names resulting in errors themselves. PR #188
- Support namespaces in Grape routes. PR #189
- Change STDOUT output to always mention "AppSignal", not "Appsignal". PR #192
appsignal notify_of_deploy
refactor.--name
will override any othername
config.--environment
is only required if it's not set in the environment. PR #194- Allow logging to STDOUT. Available for the Ruby gem and C extension. The
appsignal-agent
process will continue log to file. PR #190 - Remove deprecated methods. PR #191
- Send "ruby" implementation name with version number for better identifying different language implementations. PR #198
- Send demonstration samples to AppSignal using the
appsignal install
command instead of asking the user to start their app. PR #196 - Add
appsignal demo
command to test the AppSignal demonstration samples instrumentation manually and not just during the installation. PR #199
- Support blocks arguments on method instrumentation. PR #163
- Support
APPSIGNAL_APP_ENV
for Sinatra. PR #164 - Remove Sinatra install step from "appsignal install". PR #165
- Install Capistrano integration in
Capfile
instead ofdeploy.rb
. #166 - More robust handing of non-writable log files. PR #160 #158
- Cleaner internal exception handling. PR #169 #170 #171 #172 #173
- Support for mixed case keywords in sql lexing. appsignal/sql_lexer#8
- Support for inserting multiple rows in sql lexing. appsignal/sql_lexer#9
- Add session_overview to JS transaction data. Commit af2d365bc124c01d7e9363e8d825404027835765
- Fix SSL certificate config in appsignal-agent. PR #151
- Remove mounted_at Sinatra middleware option. Now detected by default. PR #146
- Sinatra applications with middleware loading before AppSignal's middleware would crash a request. Fixed in PR #156
- Fix argument order for
record_event
in the AppSignal extension
- Output AppSignal environment on
appsignal diagnose
- Prevent transaction crashes on Sinatra routes with optional parameters
- Listen to
stage
option to Capistrano 2 for automatic environment detection - Add
appsignal_env
option to Capistrano 2 to set a custom environment
- Add method to discard a transaction
- Run spec suite with warnings, fixes for warnings
- Bugfix for problem when requiring config from installer
- Host metrics is now enabled by default
- Beta of minutely probes including GC metrics
- Refactor of param sanitization
- Param filtering for non-Rails frameworks
- Support for modular Sinatra applications
- Add Sinatra middleware to
Sinatra::Base
by default - Allow a new transaction to be forced by sinatra instrumentation
- Allow hostname to be set with environment variable
- Helpers for easy method instrumentation
Appsignal.instrument
helper to easily instrument blocks of coderecord_event
method to instrument events without a start hooksend_params
is now configurable via the environment- Add DataMapper integration
- Add webmachine integration
- Allow overriding Padrino environment with APPSIGNAL_APP_ENV
- Add mkmf.log to diagnose command
- Allow for local install with bundler
bundle exec rake install
- Listen to
stage
option to Capistrano 3 for automatic environment detection - Add
appsignal_env
option to Capistrano 3 to set a custom environment
- Bugfix in CPU utilization calculation for host metrics
- Support for adding a namespace when mounting Sinatra apps in Rails
- Support for negative numbers and ILIKE in the sql lexer
- Catch nil config for installer and diag
- Minor performance improvements
- Support for arrays, literal value types and function arguments in sql lexer
- Handle out of range numbers in queue lenght and metrics api
- Use Dir.pwd in CLI install wizard
- Support bignums when setting queue length
- Support for Sequel 4.35
- Add env option to skip errors in Sinatra
- Fix for queue time calculation in Sidekiq (by lucasmazza)
- Restart background thread when FD's are closed
- Beta version of collecting host metrics (disabled by default)
- Hooks for Shuryoken
- Don't add errors from env if raise_errors is off for Sinatra
- Fix for race condition when creating working dir exactly at the same time
- Make diag Rake task resilient to missing config
- Require json to fix problem with using from Capistrano
- Make logging resilient for closing FD's (daemons gem does this)
- Add support for using Resque through ActiveJob
- Rescue more expections in json generation
- Generic Rack instrumentation middleware
- Event formatter for Faraday
- Rescue and log errors in transaction complete and fetching params
- Support for null in sql sanitization
- Add require to deploy.rb if present on installation
- Warn when overwriting already existing transaction
- Support for x86-linux
- Some improvements in debug logging
- Check of log file path is writable
- Use bundled CA certs when installing agent
- Better debug logging for agent issues
- Fix for exception with nil messages
- Fix for using structs as job params in Delayed Job
- Fix for issue where Appsignal.send_exception clears the current transaction if it is present
- Rails 3.0 compatibility fix
- Bug fix in notify of deploy cli
- Better support for nil, true and false in sanitization
- Collect global metrics for GC durations (in beta, disabled by default)
- Collect params from Delayed Job in a reliable way
- Collect perams for Delayed Job and Sidekiq when using ActiveJob
- Official Grape support
- Easier installation using
bundle exec appsignal install
Yanked
- Another multibyte bugfix in sql sanizitation
- Bugfix in sql sanitization when using multibyte utf-8 characters
- Improved sql sanitization
- Improved mongoid/mongodb sanitization
- Minor performance improvements
- Better handling for non-utf8 convertable strings
- Make gem installable (but not functional) on jRuby
- Make working dir configurable using
APPSIGNAL_WORKING_DIR_PATH
or:working_dir_path
- Fix bug in completing JS transactions
- Make Resque integration robust for bigger payloads
- Message in logs if agent logging cannot initialize
- Call
to_s
on DJ id to see the id when using MongoDB
- Bug fix in format of process memory measurements
- Event formatter for
instantiation.active_record
- Rake integration file for backwards compatibility
- Don't instrument mongo-ruby-driver when transaction is not present
- Accept method calls on extension if it's not loaded
- Fix for duplicate notifications subscriptions when forking
- Fix for bug in gem initialization when using
safe_yaml
gem
- New version of event formatting and collection
- Use native library and agent
- Use API V2
- Support for Mongoid 5
- Integration into other gems with a hooks system
- Lots of minor bug fixes and improvements
- Improve Sinatra support
- Support ActiveJob wrapped jobs
- Improve proxy support
- Improve rake support
- Add Padrino support
- Add Rake task monitoring
- Add http proxy support
- Configure Net::HTTP to only use TLS
- Don't send queue if there is no content
- Don't retry transmission when response code is 400 (no content)
- Don't start Resque IPC server when AppSignal is not active
- Display warning message when attempting to send a non-exception to
send_exception
- Fix capistrano 2 detection
- Fix issue with Sinatra integration attempting to attach an exception to a transaction that doesn't exist.
- Sanitizer will no longer inspect unknown objects, since implementations of inspect sometimes trigger unexpected behavior.
- Reliably get errors in production for Sinatra
- Fix for binding bug in exceptions in Resque
- Handle invalidly encoded characters in payload
- Fix for infinite attempts to transmit if there is no valid api key
- Add frontend error catcher
- Add background job metadata (queue, priority etc.) to transaction overview
- Add APPSIGNAL_APP_ENV variable to Rails config, so you can override the environment
- Handle http queue times in microseconds too
- Add option to override Job name in Delayed Job
- Use
APPSIGNAL_APP_NAME
andAPPSIGNAL_ACTIVE
env vars in config - Better Sinatra support: Use route as action and set session data for Sinatra
- Add Sequel gem support (https://github.com/jeremyevans/sequel)
- Make
without_instrumentation
thread safe
- Support Ruby 1.9 and up instead of 1.9.3 and up
- If APP_REVISION environment variable is set, send it with the log entry.
- Allow a custom request_class and params_method on Rack instrumentation
- Loop through env methods instead of env
- Add HTTP_CLIENT_IP to env methods
- Improved inter process communication
- Retry sending data when the push api is not reachable
- Our own event handling to allow for more flexibility and reliability when using a threaded environment
- Resque officially supported!
- Add config option to skip session data
- Don't shutdown in
at_exit
- Debug log about missing name in config
- Add REQUEST_URI and PATH_INFO to env params whitelist
- Shut down all operations when agent is not active
- Separately rescue OpenSSL::SSL::SSLError
- Bugfix in event payload sanitization
- Bugfix in event payload sanitization
- Remove ActiveSupport dependency
- Use vendored notifications if ActiveSupport is not present
- Update bundled CA certificates
- Fix issue where backtrace can be nil
- Use Appsignal.monitor_transaction to instrument and log errors for custom actions
- Add option to ignore a specific action
- Convert to primitives before sending through pipe
Yanked
- Log Rails and Sinatra version
- Resubscribe to notifications after fork
- Log if appsignal is not active for an environment
- Log Ruby version and platform on startup
- Log reason of shutting down agent
- Some debug logging tweaks
- Add option to override Capistrano revision
- Expanded deploy message in Capistrano
- Refactor of usage of Thread.local
- Net::HTTP instrumentation
- Capistrano 3 support
- Exception logging in agent thread
- Few tweaks in logging
- Clarify Appsignal::Transaction.complete! code
- Random sleep time before first transmission of queue
- Workaround for frozen string in Notification events
- Require ActiveSupport::Notifications to be sure it's available
- Skip enqueue, send_exception and add_exception if not active
- Bugfix: Don't pause agent when it's not active
Yanked
- Explicitely require securerandom
- Dup process action event to avoid threading issue
- Rescue failing inspects in param sanitizer
- Add option to pause instrumentation
- Resque support (beta)
- Support tags in Appsignal.send_exception
- Alias tag_request to tag_job, for background jobs
- Skip sanitization of env if env is nil
- Small bugfix in forking logic
- Don't send params if send_params is off in config
- Remove --repository option in CLI
- Name option in appsignal notify_of_deploy CLI
- Don't call to_hash on ENV
- Get error message in CLI when config is not active
- Don't require revision in CLI notify_of_deploy
- Skip session sanitize if not a http request
- Use appsignal_config in Capistrano as initial config
- Restart thread when we've been forked
- Only notify of deploy when active in capistrano
- Make sure env is a string in config
- Bugfix in Delayed Job integration
- appsignal prefix when logging to stdout
- Log to stdout on Shelly Cloud
- Fix in monitoring of queue times
- Support for background processors (Delayed Job and Sidekiq)
- Better support for forking webservers
- Mayor refactor and cleanup
- New easier onboarding process
- Support for Rack apps, including experimental Sinatra integration
- Monitor HTTP queue times
- Always log to stdout on Heroku
- Send HTTP_X_FORWARDED_FOR env var
- Add Appsignal.add_exception
- Fix bug where fast requests are tracked with wrong action
- More comprehensive debug logging
- Use a mutex around access to the aggregator
- Bugfix for accessing connection config in Rails 3.0
- Add Appsignal.tag_request
- Only warn if there are duplicate push keys
- Bugfix in backtrace cleaner usage for Rails 4
- Bugfix in Capistrano integration
- Support for Rails 4
- Data that's posted to AppSignal is now gzipped
- Add Appsignal.send_exception and Appsignal.listen_for_exception
- We now us the Rails backtrace cleaner
- Fix minor bug
- Debug option in config to get detailed logging
- Fix minor bug
- General improvements to the Rails generator
- Log to STDOUT if writing to log/appsignal.log is not possible (Heroku)
- Handle the last transactions before the rails process shuts down
- Require 'erb' to enable dynamic config