appsignal 4.4.0-java → 4.5.0-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 96eeb9c19349c184847e95f2e5f0018758934ed7633febf789bae57958745a9c
4
- data.tar.gz: b00945131c58201641865769f29b2cc356ed01798a5a32db5a9f6f1665223c55
3
+ metadata.gz: 4b77e336e502bb72c8fb749332731de304808c38bd04c4e0fbe1a0177f1f9c44
4
+ data.tar.gz: b188cef71022885550712c220dc058c28f5bdbf67ac9ff70d4bf9120ddcfd7b3
5
5
  SHA512:
6
- metadata.gz: 3cadaa18e8c7bf9322507b361fb7496192900833b8d4148f323f4dd61b6caeef5a9c357dc785e10619553223820b7c38050bce8a7704368dce81ce0d6247d797
7
- data.tar.gz: ec8ca247cfad7a0e32ef75c8bfa4613ade8f74011c8f84c6b3b69b8d1b35c903401c978de27f0b9b7e5dbdb453cdbfcbd5d309d757a8ae29488bc07519abf45b
6
+ metadata.gz: f8d81a839da1d4fe9d774162b74496e6f0ba46925b67dc18f8d1e7de4d755365f4f7beeca60e4b37121ae5d79c4f4a3ed842f3c657bab6f0e4508a44ed1be359
7
+ data.tar.gz: 62c7fc6a85d1fe336b3e8c44ed58cff518feef823e1eb3c0a9584ce220efaaecd3713eb7b6f10922410e6ab9a9dc99ad8a7325308c93aa2b124adad9b5b96b20
data/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # AppSignal for Ruby gem Changelog
2
2
 
3
+ ## 4.5.0
4
+
5
+ _Published on 2025-02-21._
6
+
7
+ ### Added
8
+
9
+ - Add a helper to create custom markers from the Ruby gem.
10
+
11
+ Create a custom marker (a little icon shown in the graph timeline on AppSignal.com) to mark events on the timeline.
12
+
13
+ Create a marker with all the available options:
14
+
15
+ ```ruby
16
+ Appsignal::CustomMarker.report(
17
+ # The icon shown on the timeline
18
+ :icon => "🎉",
19
+ # The message shown on hover
20
+ :message => "Migration completed",
21
+ # Any time object or a string with a ISO8601 valid time is accepted
22
+ :created_at => Time.now
23
+ )
24
+ ```
25
+
26
+ Create a marker with just a message:
27
+
28
+ ```ruby
29
+ Appsignal::CustomMarker.report(
30
+ :message => "Migration completed",
31
+ )
32
+ ```
33
+
34
+ _The default icon is the 🚀 icon. The default time is the time the request is received by our servers._
35
+
36
+ (minor [e92c8c9d](https://github.com/appsignal/appsignal-ruby/commit/e92c8c9da6e0a159a4405ff178b346040db53fa4))
37
+
38
+ ### Removed
39
+
40
+ - Remove the OpenTelemetry beta feature in favor of the new [AppSignal collector](https://docs.appsignal.com/collector). If you are using the AppSignal agent to send OpenTelemetry data in our public beta through the `/enriched` endpoint on the agent's HTTP server, please migrate to the collector to continue using the beta. The collector has a much better implementation of this feature for the beta. (minor [f934d0d4](https://github.com/appsignal/appsignal-ruby/commit/f934d0d496a61779d17caf01b4dff1e2c9f5b92e))
41
+
3
42
  ## 4.4.0
4
43
 
5
44
  _Published on 2025-02-06._
data/Rakefile CHANGED
@@ -357,7 +357,7 @@ end
357
357
  begin
358
358
  require "rspec/core/rake_task"
359
359
  is_jruby = defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
360
- excludes = []
360
+ excludes = ["spec/integration/diagnose/**/*_spec.rb"]
361
361
  excludes << "spec/lib/appsignal/extension/jruby_spec.rb" unless is_jruby
362
362
  exclude_pattern = "--exclude-pattern=#{excludes.join(",")}" if excludes.any?
363
363
 
data/ext/agent.rb CHANGED
@@ -6,7 +6,7 @@
6
6
  # Modifications to this file will be overwritten with the next agent release.
7
7
 
8
8
  APPSIGNAL_AGENT_CONFIG = {
9
- "version" => "0.35.29",
9
+ "version" => "0.36.0",
10
10
  "mirrors" => [
11
11
  "https://d135dj0rjqvssy.cloudfront.net",
12
12
  "https://appsignal-agent-releases.global.ssl.fastly.net"
@@ -14,131 +14,131 @@ APPSIGNAL_AGENT_CONFIG = {
14
14
  "triples" => {
15
15
  "x86_64-darwin" => {
16
16
  "static" => {
17
- "checksum" => "880b317fc23d3cfa11ba88c80d11129bd02742b8b9c100bb038b66e73f85b723",
17
+ "checksum" => "6b16bf093a6f0eca2a5344f1085a6a0b6216e2ecf87b2f1f8d2828f06de173d7",
18
18
  "filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
19
19
  },
20
20
  "dynamic" => {
21
- "checksum" => "0b9503e12862fb4824d78b1388bc4f51a9821f5c45ff78ae0782c2200632eac9",
21
+ "checksum" => "bcb996ac552bb6efd38dcaea6935b13e28e5d02639fdf0fc51e379ca73be8917",
22
22
  "filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz"
23
23
  }
24
24
  },
25
25
  "universal-darwin" => {
26
26
  "static" => {
27
- "checksum" => "880b317fc23d3cfa11ba88c80d11129bd02742b8b9c100bb038b66e73f85b723",
27
+ "checksum" => "6b16bf093a6f0eca2a5344f1085a6a0b6216e2ecf87b2f1f8d2828f06de173d7",
28
28
  "filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
29
29
  },
30
30
  "dynamic" => {
31
- "checksum" => "0b9503e12862fb4824d78b1388bc4f51a9821f5c45ff78ae0782c2200632eac9",
31
+ "checksum" => "bcb996ac552bb6efd38dcaea6935b13e28e5d02639fdf0fc51e379ca73be8917",
32
32
  "filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz"
33
33
  }
34
34
  },
35
35
  "aarch64-darwin" => {
36
36
  "static" => {
37
- "checksum" => "64b0107722401f5ee39eebec03b9c5a68a14967e8aa8806848df930f85a8afaf",
37
+ "checksum" => "1aaf24c79b4aa6b80c8ef216bf27782e1e4bb489b83ac154fd7df4dcd24f0c82",
38
38
  "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
39
39
  },
40
40
  "dynamic" => {
41
- "checksum" => "3c1e8da7ce62cfd72b3f83c212baf8ddcf3998b8c37fdcb990d1fc9397488428",
41
+ "checksum" => "0ec323c1331c9d7fe5c55a49221c3ffaaa0cb67f33b2d842f530a598afe878fb",
42
42
  "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
43
43
  }
44
44
  },
45
45
  "arm64-darwin" => {
46
46
  "static" => {
47
- "checksum" => "64b0107722401f5ee39eebec03b9c5a68a14967e8aa8806848df930f85a8afaf",
47
+ "checksum" => "1aaf24c79b4aa6b80c8ef216bf27782e1e4bb489b83ac154fd7df4dcd24f0c82",
48
48
  "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
49
49
  },
50
50
  "dynamic" => {
51
- "checksum" => "3c1e8da7ce62cfd72b3f83c212baf8ddcf3998b8c37fdcb990d1fc9397488428",
51
+ "checksum" => "0ec323c1331c9d7fe5c55a49221c3ffaaa0cb67f33b2d842f530a598afe878fb",
52
52
  "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
53
53
  }
54
54
  },
55
55
  "arm-darwin" => {
56
56
  "static" => {
57
- "checksum" => "64b0107722401f5ee39eebec03b9c5a68a14967e8aa8806848df930f85a8afaf",
57
+ "checksum" => "1aaf24c79b4aa6b80c8ef216bf27782e1e4bb489b83ac154fd7df4dcd24f0c82",
58
58
  "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
59
59
  },
60
60
  "dynamic" => {
61
- "checksum" => "3c1e8da7ce62cfd72b3f83c212baf8ddcf3998b8c37fdcb990d1fc9397488428",
61
+ "checksum" => "0ec323c1331c9d7fe5c55a49221c3ffaaa0cb67f33b2d842f530a598afe878fb",
62
62
  "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
63
63
  }
64
64
  },
65
65
  "aarch64-linux" => {
66
66
  "static" => {
67
- "checksum" => "02dd40769daa5cde64dfee9e0931d0432c4ccffeb6c08197cccc454234fdae2c",
67
+ "checksum" => "1f933fe27dedc503eaf3d1d42c92ad1c5f2d36e582157db06fbd2e042c770573",
68
68
  "filename" => "appsignal-aarch64-linux-all-static.tar.gz"
69
69
  },
70
70
  "dynamic" => {
71
- "checksum" => "1eaeed41ec98cb930454944cf27d45e5bb35805d303503ea00f59dbaccce7c37",
71
+ "checksum" => "093ca5b112b57f3cc2b05728f9a7573c28742c7f63201994ca02cdc3ea2f2a00",
72
72
  "filename" => "appsignal-aarch64-linux-all-dynamic.tar.gz"
73
73
  }
74
74
  },
75
75
  "i686-linux" => {
76
76
  "static" => {
77
- "checksum" => "4e19e1db93add17a71aaf2fd14ddf4cbd6913338f8ebeb0569baa59e154e8999",
77
+ "checksum" => "3ae7f080f4802600b9958651044e9b30e1668d4f1d145c989c378f08d7b930cf",
78
78
  "filename" => "appsignal-i686-linux-all-static.tar.gz"
79
79
  },
80
80
  "dynamic" => {
81
- "checksum" => "df508739e7f67824566e6388966c1f88df1b835abc519cb1f3c8297dd6ff1fe2",
81
+ "checksum" => "d32485c4959f08d88fa40ff011c1bf14ab412cbc577223b594abd4a8ab46dcf3",
82
82
  "filename" => "appsignal-i686-linux-all-dynamic.tar.gz"
83
83
  }
84
84
  },
85
85
  "x86-linux" => {
86
86
  "static" => {
87
- "checksum" => "4e19e1db93add17a71aaf2fd14ddf4cbd6913338f8ebeb0569baa59e154e8999",
87
+ "checksum" => "3ae7f080f4802600b9958651044e9b30e1668d4f1d145c989c378f08d7b930cf",
88
88
  "filename" => "appsignal-i686-linux-all-static.tar.gz"
89
89
  },
90
90
  "dynamic" => {
91
- "checksum" => "df508739e7f67824566e6388966c1f88df1b835abc519cb1f3c8297dd6ff1fe2",
91
+ "checksum" => "d32485c4959f08d88fa40ff011c1bf14ab412cbc577223b594abd4a8ab46dcf3",
92
92
  "filename" => "appsignal-i686-linux-all-dynamic.tar.gz"
93
93
  }
94
94
  },
95
95
  "x86_64-linux" => {
96
96
  "static" => {
97
- "checksum" => "1150865e4a9b6d773a10702414b9b0b7cc69a72c0cbb17f5a01cebf40cabbcc4",
97
+ "checksum" => "e89a2a31994017310f59239e399cf87662cb28d06d9e054ba513ae30a5b59738",
98
98
  "filename" => "appsignal-x86_64-linux-all-static.tar.gz"
99
99
  },
100
100
  "dynamic" => {
101
- "checksum" => "b17ed8c85171638f14d0ff3bca9d83894a9d2966da0a4554ba9b6cd1197a0a54",
101
+ "checksum" => "03beec3658486ec9a2af1247f975c3998234421d60dffe7511617917301bfab6",
102
102
  "filename" => "appsignal-x86_64-linux-all-dynamic.tar.gz"
103
103
  }
104
104
  },
105
105
  "x86_64-linux-musl" => {
106
106
  "static" => {
107
- "checksum" => "86fe06ca6dcc93e68a9c603c9087f15b0cef213f4df0eab6c0b495034045cde0",
107
+ "checksum" => "56f4d6f3f258d4c202c8a8967f0eccf9da9cb5e93f7f7b5bc0ba40d44bcb1e69",
108
108
  "filename" => "appsignal-x86_64-linux-musl-all-static.tar.gz"
109
109
  },
110
110
  "dynamic" => {
111
- "checksum" => "6b68164b768fda589390d34f3c20ac7fe19c7a64a864af723fad52abf981492b",
111
+ "checksum" => "80b8d839ada281aa25d18c10fd6ae342e9cf45e84755758365210ed7f8b20c53",
112
112
  "filename" => "appsignal-x86_64-linux-musl-all-dynamic.tar.gz"
113
113
  }
114
114
  },
115
115
  "aarch64-linux-musl" => {
116
116
  "static" => {
117
- "checksum" => "a3b2e4eb3a32408cbbc5b0a12b1d61322378ce0dc30edfb1c541a43d0c5306ff",
117
+ "checksum" => "b8c8a473556353a28da09910220c4af43e21b89a8c0daac972e04644b3b91c85",
118
118
  "filename" => "appsignal-aarch64-linux-musl-all-static.tar.gz"
119
119
  },
120
120
  "dynamic" => {
121
- "checksum" => "72163a268416a7171e69bd68f3cf4b732989107eb25b9a910618cc66079a1c87",
121
+ "checksum" => "6c1dc5deb92ec6e0727b8066053dbcffdc1b2694faa5acb4dfcef1ac446bbbdf",
122
122
  "filename" => "appsignal-aarch64-linux-musl-all-dynamic.tar.gz"
123
123
  }
124
124
  },
125
125
  "x86_64-freebsd" => {
126
126
  "static" => {
127
- "checksum" => "a4982fab5a7b4a4292bd0002e3bc571cbeced167c6a3e36f6c26e7898b3d38a7",
127
+ "checksum" => "dd2d49abf3052cf07de88d2a2e7d84ed4ad358d90ac7d9d12362b710b96edb8f",
128
128
  "filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
129
129
  },
130
130
  "dynamic" => {
131
- "checksum" => "0dd1afc8e0896b87ce76b65358806e0b89213ffb8727a50d926c987978c5e1ee",
131
+ "checksum" => "2960d9fd9f655b64e9d585bb122a405455f9a03c63198bea40031b486f75476d",
132
132
  "filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
133
133
  }
134
134
  },
135
135
  "amd64-freebsd" => {
136
136
  "static" => {
137
- "checksum" => "a4982fab5a7b4a4292bd0002e3bc571cbeced167c6a3e36f6c26e7898b3d38a7",
137
+ "checksum" => "dd2d49abf3052cf07de88d2a2e7d84ed4ad358d90ac7d9d12362b710b96edb8f",
138
138
  "filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
139
139
  },
140
140
  "dynamic" => {
141
- "checksum" => "0dd1afc8e0896b87ce76b65358806e0b89213ffb8727a50d926c987978c5e1ee",
141
+ "checksum" => "2960d9fd9f655b64e9d585bb122a405455f9a03c63198bea40031b486f75476d",
142
142
  "filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
143
143
  }
144
144
  }
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Appsignal
4
+ # Custom markers are used on AppSignal.com to indicate events in an
5
+ # application, to give additional context on graph timelines.
6
+ #
7
+ # This helper class will send a request to the AppSignal public endpoint to
8
+ # create a Custom marker for the application on AppSignal.com.
9
+ #
10
+ # @see https://docs.appsignal.com/api/public-endpoint/custom-markers.html
11
+ # Public Endpoint API markers endpoint documentation
12
+ # @see https://docs.appsignal.com/appsignal/terminology.html#markers
13
+ # Terminology: Markers
14
+ class CustomMarker
15
+ # @param icon [String] icon to use for the marker, like an emoji.
16
+ # @param message [String] name of the user that is creating the
17
+ # marker.
18
+ # @param created_at [Time/String] A Ruby time object or a valid ISO8601
19
+ # timestamp.
20
+ # @return [Boolean]
21
+ def self.report(
22
+ icon: nil,
23
+ message: nil,
24
+ created_at: nil
25
+ )
26
+ new(
27
+ {
28
+ :icon => icon,
29
+ :message => message,
30
+ :created_at => created_at.respond_to?(:iso8601) ? created_at.iso8601 : created_at
31
+ }.compact
32
+ ).transmit
33
+ end
34
+
35
+ # @api private
36
+ def initialize(marker_data)
37
+ @marker_data = marker_data
38
+ end
39
+
40
+ # @api private
41
+ def transmit
42
+ unless Appsignal.config
43
+ Appsignal.internal_logger.warn(
44
+ "Did not transmit custom marker: no AppSignal config loaded"
45
+ )
46
+ return false
47
+ end
48
+
49
+ transmitter = Transmitter.new(
50
+ "#{Appsignal.config[:logging_endpoint]}/markers",
51
+ Appsignal.config
52
+ )
53
+ response = transmitter.transmit(@marker_data)
54
+
55
+ if (200...300).include?(response.code.to_i)
56
+ Appsignal.internal_logger.info("Transmitted custom marker")
57
+ true
58
+ else
59
+ Appsignal.internal_logger.error(
60
+ "Failed to transmit custom marker: #{response.code} status code"
61
+ )
62
+ false
63
+ end
64
+ rescue => e
65
+ Appsignal.internal_logger.error(
66
+ "Failed to transmit custom marker: #{e.class}: #{e.message}\n" \
67
+ "#{e.backtrace}"
68
+ )
69
+ false
70
+ end
71
+ end
72
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Appsignal
4
- VERSION = "4.4.0"
4
+ VERSION = "4.5.0"
5
5
  end
data/lib/appsignal.rb CHANGED
@@ -558,6 +558,7 @@ require "appsignal/event_formatter"
558
558
  require "appsignal/hooks"
559
559
  require "appsignal/probes"
560
560
  require "appsignal/marker"
561
+ require "appsignal/custom_marker"
561
562
  require "appsignal/garbage_collection"
562
563
  require "appsignal/rack"
563
564
  require "appsignal/rack/body_wrapper"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.0
4
+ version: 4.5.0
5
5
  platform: java
6
6
  authors:
7
7
  - Robert Beekman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-02-06 00:00:00.000000000 Z
13
+ date: 2025-02-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: logger
@@ -191,6 +191,7 @@ files:
191
191
  - lib/appsignal/cli/helpers.rb
192
192
  - lib/appsignal/cli/install.rb
193
193
  - lib/appsignal/config.rb
194
+ - lib/appsignal/custom_marker.rb
194
195
  - lib/appsignal/demo.rb
195
196
  - lib/appsignal/environment.rb
196
197
  - lib/appsignal/event_formatter.rb