@@ -27,10 +27,7 @@ class UnableToStartProcessorException(Exception):
2727
2828
2929class 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 ):
3431 self .inner = {}
3532 self ._filters = filters
3633
@@ -46,7 +43,7 @@ def possibly_start_cov_for_span(self, span) -> bool:
4643 CoverageSpanFilter .span_kind_filter
4744 ) and span .kind not in self ._filters .get (CoverageSpanFilter .span_kind_filter ):
4845 return False
49- cov = coverage .Coverage (data_file = f" { self . _writeable_folder } /. { span_id } file" )
46+ cov = coverage .Coverage (data_file = None )
5047 self .inner [span_id ] = cov
5148 cov .start ()
5249 return True
@@ -132,7 +129,10 @@ def export(self, spans):
132129 )
133130 res .raise_for_status ()
134131 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+ )
136136 return SpanExportResult .FAILURE
137137 location = res .json ()["raw_upload_location" ]
138138 requests .put (
@@ -155,27 +155,26 @@ def get_codecov_opentelemetry_instances(
155155 environment : Optional [str ] = None ,
156156 needs_version_creation : bool = True ,
157157 codecov_endpoint : str = None ,
158- writeable_folder : str = None ,
159158) -> Tuple [CodecovCoverageGenerator , CoverageExporter ]:
160159 """
161160 Entrypoint for getting a span processor/span exporter
162161 pair for getting profiling data into codecov
163-
162+
164163 Args:
165164 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
168169 filters (Optional[Dict], optional): A dictionary of filters for determining which
169170 spans should have its coverage tracked
170171 version_identifier (Optional[str], optional): The identifier for what
171172 software version is being profiled
172173 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)
174176 codecov_endpoint (str, optional): For configuring the endpoint in case
175177 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.
179178 """
180179 codecov_endpoint = codecov_endpoint or "https://api.codecov.io"
181180 if code is None :
@@ -194,7 +193,7 @@ def get_codecov_opentelemetry_instances(
194193 response .raise_for_status ()
195194 except requests .HTTPError :
196195 raise UnableToStartProcessorException ()
197- manager = CodecovCoverageStorageManager (writeable_folder , filters or {})
196+ manager = CodecovCoverageStorageManager (filters or {})
198197 generator = CodecovCoverageGenerator (manager , sample_rate )
199198 exporter = CoverageExporter (
200199 manager , repository_token , code , codecov_endpoint , untracked_export_rate ,
0 commit comments