@@ -27,10 +27,7 @@ class UnableToStartProcessorException(Exception):
27
27
28
28
29
29
class CodecovCoverageStorageManager (object ):
30
- def __init__ (self , writeable_folder : str , filters : Dict ):
31
- if writeable_folder is None :
32
- writeable_folder = "/home/codecov"
33
- self ._writeable_folder = writeable_folder
30
+ def __init__ (self , filters : Dict ):
34
31
self .inner = {}
35
32
self ._filters = filters
36
33
@@ -46,7 +43,7 @@ def possibly_start_cov_for_span(self, span) -> bool:
46
43
CoverageSpanFilter .span_kind_filter
47
44
) and span .kind not in self ._filters .get (CoverageSpanFilter .span_kind_filter ):
48
45
return False
49
- cov = coverage .Coverage (data_file = f" { self . _writeable_folder } /. { span_id } file" )
46
+ cov = coverage .Coverage (data_file = None )
50
47
self .inner [span_id ] = cov
51
48
cov .start ()
52
49
return True
@@ -132,7 +129,10 @@ def export(self, spans):
132
129
)
133
130
res .raise_for_status ()
134
131
except requests .RequestException :
135
- log .warning ("Unable to send profiling data to codecov" )
132
+ log .warning (
133
+ "Unable to send profiling data to codecov" ,
134
+ extra = dict (response_data = res .json ())
135
+ )
136
136
return SpanExportResult .FAILURE
137
137
location = res .json ()["raw_upload_location" ]
138
138
requests .put (
@@ -155,27 +155,26 @@ def get_codecov_opentelemetry_instances(
155
155
environment : Optional [str ] = None ,
156
156
needs_version_creation : bool = True ,
157
157
codecov_endpoint : str = None ,
158
- writeable_folder : str = None ,
159
158
) -> Tuple [CodecovCoverageGenerator , CoverageExporter ]:
160
159
"""
161
160
Entrypoint for getting a span processor/span exporter
162
161
pair for getting profiling data into codecov
163
-
162
+
164
163
Args:
165
164
repository_token (str): The profiling-capable authentication token
166
- sample_rate (float): The sampling rate for codecov
167
- untracked_export_rate (float): Description
165
+ sample_rate (float): The sampling rate for codecov, a number from 0 to 1
166
+ untracked_export_rate (float): The export rate for codecov for non-sampled spans,
167
+ a number from 0 to 1
168
+ code (str): The code of this profiling
168
169
filters (Optional[Dict], optional): A dictionary of filters for determining which
169
170
spans should have its coverage tracked
170
171
version_identifier (Optional[str], optional): The identifier for what
171
172
software version is being profiled
172
173
environment (Optional[str], optional): Which environment this profiling is running on
173
- code (str): The code of this profiling
174
+ needs_version_creation (bool, optional): Whether the "create this version" needs to be
175
+ called (one can choose to call it manually beforehand and disable it here)
174
176
codecov_endpoint (str, optional): For configuring the endpoint in case
175
177
the user is in enterprise (not supported yet). Default is "https://api.codecov.io/"
176
- writeable_folder (str, optional): A folder that is guaranteed to be write-able
177
- in the system. It's only used for temporary files, and nothing is expected
178
- to live very long in there.
179
178
"""
180
179
codecov_endpoint = codecov_endpoint or "https://api.codecov.io"
181
180
if code is None :
@@ -194,7 +193,7 @@ def get_codecov_opentelemetry_instances(
194
193
response .raise_for_status ()
195
194
except requests .HTTPError :
196
195
raise UnableToStartProcessorException ()
197
- manager = CodecovCoverageStorageManager (writeable_folder , filters or {})
196
+ manager = CodecovCoverageStorageManager (filters or {})
198
197
generator = CodecovCoverageGenerator (manager , sample_rate )
199
198
exporter = CoverageExporter (
200
199
manager , repository_token , code , codecov_endpoint , untracked_export_rate ,
0 commit comments