Sha256: 2022756ffc4a11860885ec6d0b2bc43868c1a424ed213de3f753f7d9f8879594
Contents?: true
Size: 1.56 KB
Versions: 6
Compression:
Stored size: 1.56 KB
Contents
# frozen_string_literal: true module PlainApm module Hooks class ActiveSupport < ActiveSupportSubscriber NOTIFICATION_PATTERN = /\Acache_[\w\?]+\.active_support\Z/.freeze private def notification_pattern NOTIFICATION_PATTERN end def payload(event) name, source = *event.name.split(".") payload = event.payload base = { "source" => source, "name" => name, "backtrace" => filtered_backtrace, "started_at" => event.time, "finished_at" => event.end, "allocations" => event.allocations, "thread_allocations" => event.thread_allocations, "store" => payload[:store] } case name when "cache_read" base.merge({ "key" => payload[:key], "hit" => payload[:hit], "trigger" => payload[:super_operation], }) when "cache_read_multi" base.merge({ "keys" => payload[:key], "hits" => payload[:hits] }) when "cache_fetch_hit" base.merge({ "key" => payload[:key], "hit" => true }) when "cache_write", "cache_write_multi", "cache_generate", "cache_delete", "cache_delete_matched", "cache_exist?" base.merge({ "key" => payload[:key] }) when "cache_increment", "cache_decrement" base.merge({ "key" => payload[:key], "amount" => payload[:amount] }) end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems