Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Monitor serving of Rack response bodies #1037

Merged
merged 15 commits into from
Feb 22, 2024

Commits on Feb 14, 2024

  1. Monitor serving of Rack response bodies

    Some work might be getting done within a Rack response body. For example, when
    ActionController::Streaming is used, or when a Rack app elects to stream a response.
    
    The Rack SPEC doc actually defines the behavior in sufficient detail to wrap this
    into the same Appsignal transaction.
    
    Sadly, there is some work involved in supporting all the right methods, so just
    "one-size-fits-all" wrapper will not quite work
    julik committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    7da96e7 View commit details
    Browse the repository at this point in the history
  2. Use complete_current!

    julik committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    906599b View commit details
    Browse the repository at this point in the history
  3. Complete txn on errors outside of body

    and include Sinatra-related integration changes If there is an
    exception within `call` of a Rack app, the body won't be
    returned. And that will be the case 99% of the time. If that
    happens we need to complete the transaction early to ensure
    data is sent across, as there is no BodyWrapper to complete it
    for us.
    julik committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    7dce82e View commit details
    Browse the repository at this point in the history
  4. Instrument the output of the body wrapper

    Some work might be getting done inside the body (like when serving a ZIP).
    We want this work to paint properly on the sample waterfall in
    the Appsignal UI, so surround those with `instrument`.
    julik committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    8e86efd View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2024

  1. Improve comment

    Co-authored-by: Tom de Bruijn <tom@tomdebruijn.com>
    julik and tombruijn committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    7e46325 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2024

  1. Update instrument block names

    julik committed Feb 16, 2024
    Configuration menu
    Copy the full SHA
    db858c9 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2024

  1. Make use of NilTransaction

    julik committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    f33d4f0 View commit details
    Browse the repository at this point in the history
  2. Appease Rubocop

    julik committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    f8f525d View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

  1. Apply a Rubocop pass

    julik committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    7ac06c1 View commit details
    Browse the repository at this point in the history
  2. Remove conditional complete

    julik committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    ee1eba2 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2024

  1. Add comment re each/call

    which - it would seem - requires another conditional, but it doesn't.
    julik committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    61cc148 View commit details
    Browse the repository at this point in the history
  2. Fix merge conflict issue

    julik committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    a45ab0d View commit details
    Browse the repository at this point in the history
  3. Add changeset for PR appsignal#1037

    Add changeset so the change can be released and is shown in the
    CHANGELOG.md file upon release.
    tombruijn committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    9984156 View commit details
    Browse the repository at this point in the history
  4. Update event names/titles

    julik committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    d26be0a View commit details
    Browse the repository at this point in the history
  5. Update Rack event titles

    I mistyped the titles for the events in my comment on the GitHub issue.
    This is what I meant to type.
    tombruijn committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    63ed863 View commit details
    Browse the repository at this point in the history