datadog-ci 0.1.1 → 0.2.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -1
- data/LICENSE-3rdparty.csv +1 -0
- data/README.md +64 -0
- data/lib/datadog/ci/configuration/components.rb +51 -5
- data/lib/datadog/ci/configuration/settings.rb +36 -8
- data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +2 -3
- data/lib/datadog/ci/contrib/cucumber/formatter.rb +8 -10
- data/lib/datadog/ci/contrib/cucumber/integration.rb +3 -5
- data/lib/datadog/ci/contrib/integration.rb +149 -0
- data/lib/datadog/ci/contrib/minitest/configuration/settings.rb +2 -3
- data/lib/datadog/ci/contrib/minitest/hooks.rb +8 -4
- data/lib/datadog/ci/contrib/minitest/integration.rb +3 -5
- data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +2 -3
- data/lib/datadog/ci/contrib/rspec/example.rb +5 -8
- data/lib/datadog/ci/contrib/rspec/integration.rb +3 -5
- data/lib/datadog/ci/contrib/settings.rb +33 -0
- data/lib/datadog/ci/ext/environment/providers/local_git.rb +7 -0
- data/lib/datadog/ci/ext/settings.rb +2 -0
- data/lib/datadog/ci/ext/transport.rb +19 -0
- data/lib/datadog/ci/{test.rb → recorder.rb} +6 -5
- data/lib/datadog/ci/test_visibility/flush.rb +40 -0
- data/lib/datadog/ci/test_visibility/serializers/base.rb +161 -0
- data/lib/datadog/ci/test_visibility/serializers/factories/test_level.rb +30 -0
- data/lib/datadog/ci/test_visibility/serializers/span.rb +51 -0
- data/lib/datadog/ci/test_visibility/serializers/test_v1.rb +60 -0
- data/lib/datadog/ci/test_visibility/transport.rb +169 -0
- data/lib/datadog/ci/transport/gzip.rb +20 -0
- data/lib/datadog/ci/transport/http.rb +153 -0
- data/lib/datadog/ci/version.rb +2 -2
- data/sig/datadog/ci/configuration/components.rbs +2 -0
- data/sig/datadog/ci/configuration/settings.rbs +2 -0
- data/sig/datadog/ci/contrib/cucumber/configuration/settings.rbs +1 -1
- data/sig/datadog/ci/contrib/cucumber/integration.rbs +2 -1
- data/sig/datadog/ci/contrib/integration.rbs +44 -0
- data/sig/datadog/ci/contrib/minitest/configuration/settings.rbs +1 -1
- data/sig/datadog/ci/contrib/minitest/integration.rbs +4 -3
- data/sig/datadog/ci/contrib/rspec/configuration/settings.rbs +1 -1
- data/sig/datadog/ci/contrib/rspec/integration.rbs +3 -2
- data/sig/datadog/ci/contrib/settings.rbs +25 -0
- data/sig/datadog/ci/ext/settings.rbs +2 -0
- data/sig/datadog/ci/ext/transport.rbs +21 -0
- data/sig/datadog/ci/{test.rbs → recorder.rbs} +1 -1
- data/sig/datadog/ci/test_visibility/flush.rbs +17 -0
- data/sig/datadog/ci/test_visibility/serializers/base.rbs +73 -0
- data/sig/datadog/ci/test_visibility/serializers/factories/test_level.rbs +13 -0
- data/sig/datadog/ci/test_visibility/serializers/span.rbs +18 -0
- data/sig/datadog/ci/test_visibility/serializers/test_v1.rbs +23 -0
- data/sig/datadog/ci/test_visibility/transport.rbs +39 -0
- data/sig/datadog/ci/transport/gzip.rbs +9 -0
- data/sig/datadog/ci/transport/http.rbs +61 -0
- metadata +41 -7
- data/lib/datadog/ci/flush.rb +0 -38
- data/sig/datadog/ci/flush.rbs +0 -15
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datadog-ci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Datadog, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
12
|
-
dependencies:
|
11
|
+
date: 2023-10-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: msgpack
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
description: |2
|
14
28
|
datadog-ci is a Datadog's CI visibility library for Ruby. It traces
|
15
29
|
tests as they are being executed and brings developers visibility into
|
@@ -36,6 +50,7 @@ files:
|
|
36
50
|
- lib/datadog/ci/contrib/cucumber/instrumentation.rb
|
37
51
|
- lib/datadog/ci/contrib/cucumber/integration.rb
|
38
52
|
- lib/datadog/ci/contrib/cucumber/patcher.rb
|
53
|
+
- lib/datadog/ci/contrib/integration.rb
|
39
54
|
- lib/datadog/ci/contrib/minitest/configuration/settings.rb
|
40
55
|
- lib/datadog/ci/contrib/minitest/ext.rb
|
41
56
|
- lib/datadog/ci/contrib/minitest/hooks.rb
|
@@ -46,6 +61,7 @@ files:
|
|
46
61
|
- lib/datadog/ci/contrib/rspec/ext.rb
|
47
62
|
- lib/datadog/ci/contrib/rspec/integration.rb
|
48
63
|
- lib/datadog/ci/contrib/rspec/patcher.rb
|
64
|
+
- lib/datadog/ci/contrib/settings.rb
|
49
65
|
- lib/datadog/ci/ext/app_types.rb
|
50
66
|
- lib/datadog/ci/ext/environment.rb
|
51
67
|
- lib/datadog/ci/ext/environment/extractor.rb
|
@@ -69,9 +85,17 @@ files:
|
|
69
85
|
- lib/datadog/ci/ext/git.rb
|
70
86
|
- lib/datadog/ci/ext/settings.rb
|
71
87
|
- lib/datadog/ci/ext/test.rb
|
88
|
+
- lib/datadog/ci/ext/transport.rb
|
72
89
|
- lib/datadog/ci/extensions.rb
|
73
|
-
- lib/datadog/ci/
|
74
|
-
- lib/datadog/ci/
|
90
|
+
- lib/datadog/ci/recorder.rb
|
91
|
+
- lib/datadog/ci/test_visibility/flush.rb
|
92
|
+
- lib/datadog/ci/test_visibility/serializers/base.rb
|
93
|
+
- lib/datadog/ci/test_visibility/serializers/factories/test_level.rb
|
94
|
+
- lib/datadog/ci/test_visibility/serializers/span.rb
|
95
|
+
- lib/datadog/ci/test_visibility/serializers/test_v1.rb
|
96
|
+
- lib/datadog/ci/test_visibility/transport.rb
|
97
|
+
- lib/datadog/ci/transport/gzip.rb
|
98
|
+
- lib/datadog/ci/transport/http.rb
|
75
99
|
- lib/datadog/ci/utils/git.rb
|
76
100
|
- lib/datadog/ci/version.rb
|
77
101
|
- sig/datadog/ci.rbs
|
@@ -83,6 +107,7 @@ files:
|
|
83
107
|
- sig/datadog/ci/contrib/cucumber/instrumentation.rbs
|
84
108
|
- sig/datadog/ci/contrib/cucumber/integration.rbs
|
85
109
|
- sig/datadog/ci/contrib/cucumber/patcher.rbs
|
110
|
+
- sig/datadog/ci/contrib/integration.rbs
|
86
111
|
- sig/datadog/ci/contrib/minitest/configuration/settings.rbs
|
87
112
|
- sig/datadog/ci/contrib/minitest/ext.rbs
|
88
113
|
- sig/datadog/ci/contrib/minitest/hooks.rbs
|
@@ -93,6 +118,7 @@ files:
|
|
93
118
|
- sig/datadog/ci/contrib/rspec/ext.rbs
|
94
119
|
- sig/datadog/ci/contrib/rspec/integration.rbs
|
95
120
|
- sig/datadog/ci/contrib/rspec/patcher.rbs
|
121
|
+
- sig/datadog/ci/contrib/settings.rbs
|
96
122
|
- sig/datadog/ci/ext/app_types.rbs
|
97
123
|
- sig/datadog/ci/ext/environment.rbs
|
98
124
|
- sig/datadog/ci/ext/environment/extractor.rbs
|
@@ -116,9 +142,17 @@ files:
|
|
116
142
|
- sig/datadog/ci/ext/git.rbs
|
117
143
|
- sig/datadog/ci/ext/settings.rbs
|
118
144
|
- sig/datadog/ci/ext/test.rbs
|
145
|
+
- sig/datadog/ci/ext/transport.rbs
|
119
146
|
- sig/datadog/ci/extensions.rbs
|
120
|
-
- sig/datadog/ci/
|
121
|
-
- sig/datadog/ci/
|
147
|
+
- sig/datadog/ci/recorder.rbs
|
148
|
+
- sig/datadog/ci/test_visibility/flush.rbs
|
149
|
+
- sig/datadog/ci/test_visibility/serializers/base.rbs
|
150
|
+
- sig/datadog/ci/test_visibility/serializers/factories/test_level.rbs
|
151
|
+
- sig/datadog/ci/test_visibility/serializers/span.rbs
|
152
|
+
- sig/datadog/ci/test_visibility/serializers/test_v1.rbs
|
153
|
+
- sig/datadog/ci/test_visibility/transport.rbs
|
154
|
+
- sig/datadog/ci/transport/gzip.rbs
|
155
|
+
- sig/datadog/ci/transport/http.rbs
|
122
156
|
- sig/datadog/ci/utils/git.rbs
|
123
157
|
- sig/datadog/ci/version.rbs
|
124
158
|
homepage: https://github.com/DataDog/datadog-ci-rb
|
data/lib/datadog/ci/flush.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "datadog/tracing/metadata/ext"
|
4
|
-
require "datadog/tracing/flush"
|
5
|
-
|
6
|
-
module Datadog
|
7
|
-
module CI
|
8
|
-
module Flush
|
9
|
-
# Common behavior for CI flushing
|
10
|
-
module Tagging
|
11
|
-
# Decorate a trace with CI tags
|
12
|
-
def get_trace(trace_op)
|
13
|
-
trace = trace_op.flush!
|
14
|
-
|
15
|
-
# Origin tag is required on every span
|
16
|
-
trace.spans.each do |span|
|
17
|
-
span.set_tag(
|
18
|
-
Tracing::Metadata::Ext::Distributed::TAG_ORIGIN,
|
19
|
-
trace.origin
|
20
|
-
)
|
21
|
-
end
|
22
|
-
|
23
|
-
trace
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# Consumes only completed traces (where all spans have finished)
|
28
|
-
class Finished < Tracing::Flush::Finished
|
29
|
-
prepend Tagging
|
30
|
-
end
|
31
|
-
|
32
|
-
# Performs partial trace flushing to avoid large traces residing in memory for too long
|
33
|
-
class Partial < Tracing::Flush::Partial
|
34
|
-
prepend Tagging
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
data/sig/datadog/ci/flush.rbs
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
module Datadog
|
2
|
-
module CI
|
3
|
-
module Flush
|
4
|
-
module Tagging
|
5
|
-
def get_trace: (untyped trace_op) -> untyped
|
6
|
-
end
|
7
|
-
class Finished < Tracing::Flush::Finished
|
8
|
-
prepend Tagging
|
9
|
-
end
|
10
|
-
class Partial < Tracing::Flush::Partial
|
11
|
-
prepend Tagging
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|