appsignal 3.0.14-java → 3.0.18-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,141 @@
1
+ require "appsignal/span"
2
+
3
+ describe Appsignal::Span do
4
+ before :context do
5
+ start_agent
6
+ end
7
+
8
+ let(:namespace) { "web" }
9
+ let(:root) { Appsignal::Span.new(namespace) }
10
+
11
+ describe "creating a span" do
12
+ it "creates an empty span" do
13
+ expect(root.to_h["namespace"]).to eq "web"
14
+ expect(root.to_h["trace_id"].length).to eq 16
15
+ expect(root.to_h["span_id"].length).to eq 8
16
+ expect(root.to_h["parent_span_id"]).to be_empty
17
+ expect(root.to_h["name"]).to be_empty
18
+ expect(root.to_h["start_time"]).to be > 1_600_000_000
19
+ expect(root.to_h["closed"]).to be false
20
+ end
21
+ end
22
+
23
+ describe "#child" do
24
+ let(:child) { root.child }
25
+
26
+ it "creates a child span" do
27
+ expect(child.to_h["namespace"]).to be_empty
28
+ expect(child.to_h["trace_id"].length).to eq 16
29
+ expect(child.to_h["span_id"].length).to eq 8
30
+ expect(child.to_h["parent_span_id"]).to eq root.to_h["span_id"]
31
+ expect(child.to_h["name"]).to be_empty
32
+ expect(child.to_h["start_time"]).to be > 1_600_000_000
33
+ expect(child.to_h["closed"]).to be false
34
+ end
35
+ end
36
+
37
+ describe "#add_error" do
38
+ it "adds an error" do
39
+ begin
40
+ raise "Error"
41
+ rescue => error
42
+ root.add_error(error)
43
+ end
44
+
45
+ error = root.to_h["error"]
46
+ expect(error["name"]).to eq "RuntimeError"
47
+ expect(error["message"]).to eq "Error"
48
+ expect(error["backtrace"]).not_to be_empty
49
+ end
50
+ end
51
+
52
+ describe "set_sample_data" do
53
+ it "sets sample data" do
54
+ root.set_sample_data(:params, "key" => "value")
55
+
56
+ sample_data = root.to_h["sample_data"]
57
+ expect(sample_data["params"]).to eq "{\"key\":\"value\"}"
58
+ end
59
+ end
60
+
61
+ describe "#name=" do
62
+ it "sets the name" do
63
+ root.name = "Span name"
64
+
65
+ expect(root.to_h["name"]).to eq "Span name"
66
+ end
67
+ end
68
+
69
+ describe "#[]=" do
70
+ let(:attributes) { root.to_h["attributes"] }
71
+
72
+ it "sets a string attribute" do
73
+ root["string"] = "attribute"
74
+
75
+ expect(attributes["string"]).to eq "attribute"
76
+ end
77
+
78
+ it "sets an integer attribute" do
79
+ root["integer"] = 1001
80
+
81
+ expect(attributes["integer"]).to eq 1001
82
+ end
83
+
84
+ it "sets a bigint attribute" do
85
+ root["bigint"] = 1 << 64
86
+
87
+ expect(attributes["bigint"]).to eq "bigint:#{1 << 64}"
88
+ end
89
+
90
+ it "sets a boolean attribute" do
91
+ root["true"] = true
92
+ root["false"] = false
93
+
94
+ expect(attributes["true"]).to eq true
95
+ expect(attributes["false"]).to eq false
96
+ end
97
+
98
+ it "sets a float attribute" do
99
+ root["float"] = 10.01
100
+
101
+ expect(attributes["float"]).to eq 10.01
102
+ end
103
+
104
+ it "raises an error for other types" do
105
+ expect do
106
+ root["something"] = Object.new
107
+ end.to raise_error TypeError
108
+ end
109
+ end
110
+
111
+ describe "#instrument" do
112
+ it "closes the span after yielding" do
113
+ root.instrument do
114
+ # Nothing happening
115
+ end
116
+ expect(root.closed?).to eq true
117
+ end
118
+
119
+ context "with an error raised in the passed block" do
120
+ it "closes the span after yielding" do
121
+ expect do
122
+ root.instrument do
123
+ raise ExampleException, "foo"
124
+ end
125
+ end.to raise_error(ExampleException, "foo")
126
+ expect(root.closed?).to eq true
127
+ end
128
+ end
129
+ end
130
+
131
+ describe "#close" do
132
+ it "closes a span" do
133
+ expect(root.closed?).to eq false
134
+
135
+ root.close
136
+
137
+ expect(root.to_h).to be_nil
138
+ expect(root.closed?).to eq true
139
+ end
140
+ end
141
+ end
@@ -1341,6 +1341,31 @@ describe Appsignal::Transaction do
1341
1341
  end
1342
1342
  end
1343
1343
 
1344
+ describe "#cleaned_error_message" do
1345
+ let(:error) { StandardError.new("Error message") }
1346
+ subject { transaction.send(:cleaned_error_message, error) }
1347
+
1348
+ it "returns the error message" do
1349
+ expect(subject).to eq "Error message"
1350
+ end
1351
+
1352
+ context "with a PG::UniqueViolation" do
1353
+ module PG
1354
+ class UniqueViolation < StandardError; end
1355
+ end
1356
+
1357
+ let(:error) do
1358
+ PG::UniqueViolation.new(
1359
+ "ERROR: duplicate key value violates unique constraint \"index_users_on_email\" DETAIL: Key (email)=(test@test.com) already exists."
1360
+ )
1361
+ end
1362
+
1363
+ it "returns a sanizited error message" do
1364
+ expect(subject).to eq "ERROR: duplicate key value violates unique constraint \"index_users_on_email\" DETAIL: Key (email)=(?) already exists."
1365
+ end
1366
+ end
1367
+ end
1368
+
1344
1369
  describe ".to_hash / .to_h" do
1345
1370
  subject { transaction.to_hash }
1346
1371
 
@@ -1,5 +1,3 @@
1
- # encoding: UTF-8
2
-
3
1
  describe Appsignal::Utils::Data do
4
2
  describe ".generate" do
5
3
  subject { Appsignal::Utils::Data.generate(body) }
@@ -1,5 +1,3 @@
1
- # encoding: UTF-8
2
-
3
1
  describe Appsignal::Utils::JSON do
4
2
  describe ".generate" do
5
3
  subject { Appsignal::Utils::JSON.generate(body) }
@@ -1236,7 +1236,7 @@ describe Appsignal do
1236
1236
  before do
1237
1237
  capture_stdout(out_stream) do
1238
1238
  initialize_config
1239
- Appsignal.config[:debug] = true
1239
+ Appsignal.config[:log_level] = "debug"
1240
1240
  Appsignal.start_logger
1241
1241
  end
1242
1242
  end
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: 3.0.14
4
+ version: 3.0.18
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: 2021-09-30 00:00:00.000000000 Z
13
+ date: 2022-01-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -185,6 +185,7 @@ files:
185
185
  - gemfiles/rails-5.1.gemfile
186
186
  - gemfiles/rails-5.2.gemfile
187
187
  - gemfiles/rails-6.0.gemfile
188
+ - gemfiles/rails-7.0.gemfile
188
189
  - gemfiles/resque-1.gemfile
189
190
  - gemfiles/resque-2.gemfile
190
191
  - gemfiles/sequel-435.gemfile
@@ -271,6 +272,7 @@ files:
271
272
  - lib/appsignal/rack/rails_instrumentation.rb
272
273
  - lib/appsignal/rack/sinatra_instrumentation.rb
273
274
  - lib/appsignal/rack/streaming_listener.rb
275
+ - lib/appsignal/span.rb
274
276
  - lib/appsignal/system.rb
275
277
  - lib/appsignal/transaction.rb
276
278
  - lib/appsignal/transmitter.rb
@@ -287,7 +289,7 @@ files:
287
289
  - mono.yml
288
290
  - resources/appsignal.yml.erb
289
291
  - resources/cacert.pem
290
- - script/install_lintje
292
+ - script/lint_git
291
293
  - spec/.rubocop.yml
292
294
  - spec/lib/appsignal/auth_check_spec.rb
293
295
  - spec/lib/appsignal/capistrano2_spec.rb
@@ -359,6 +361,7 @@ files:
359
361
  - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
360
362
  - spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
361
363
  - spec/lib/appsignal/rack/streaming_listener_spec.rb
364
+ - spec/lib/appsignal/span_spec.rb
362
365
  - spec/lib/appsignal/system_spec.rb
363
366
  - spec/lib/appsignal/transaction_spec.rb
364
367
  - spec/lib/appsignal/transmitter_spec.rb
@@ -433,7 +436,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
433
436
  - !ruby/object:Gem::Version
434
437
  version: '0'
435
438
  requirements: []
436
- rubygems_version: 3.2.25
439
+ rubygems_version: 3.3.4
437
440
  signing_key:
438
441
  specification_version: 4
439
442
  summary: Logs performance and exception data from your app to appsignal.com
@@ -509,6 +512,7 @@ test_files:
509
512
  - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
510
513
  - spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
511
514
  - spec/lib/appsignal/rack/streaming_listener_spec.rb
515
+ - spec/lib/appsignal/span_spec.rb
512
516
  - spec/lib/appsignal/system_spec.rb
513
517
  - spec/lib/appsignal/transaction_spec.rb
514
518
  - spec/lib/appsignal/transmitter_spec.rb