Skip to content

Commit 5fc1549

Browse files
committed
fixed the incorrect use of Resource creation
1 parent e2c1794 commit 5fc1549

File tree

6 files changed

+25
-21
lines changed
  • docs/examples/opencensus-shim
  • exporter
    • opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal
    • opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc
    • opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http
  • opentelemetry-sdk/src/opentelemetry/sdk/resources

6 files changed

+25
-21
lines changed

docs/examples/opencensus-shim/app.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
OTLPSpanExporter,
2323
)
2424
from opentelemetry.instrumentation.sqlite3 import SQLite3Instrumentor
25-
from opentelemetry.sdk.resources import Resource
25+
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
2626
from opentelemetry.sdk.trace import TracerProvider
2727
from opentelemetry.sdk.trace.export import BatchSpanProcessor
2828
from opentelemetry.shim.opencensus import install_shim
@@ -31,9 +31,9 @@
3131

3232
# Set up OpenTelemetry
3333
tracer_provider = TracerProvider(
34-
resource=Resource(
34+
resource=Resource.create(
3535
{
36-
"service.name": "opencensus-shim-example-flask",
36+
SERVICE_NAME: "opencensus-shim-example-flask",
3737
}
3838
)
3939
)

exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ def _encode_instrumentation_scope(
6666

6767

6868
def _encode_resource(resource: Resource) -> PB2Resource:
69-
return PB2Resource(attributes=_encode_attributes(resource.attributes))
69+
return PB2Resource.create(
70+
attributes=_encode_attributes(resource.attributes)
71+
)
7072

7173

7274
def _encode_value(
@@ -165,7 +167,7 @@ def _get_resource_data(
165167
sdk_resource,
166168
scope_data,
167169
) in sdk_resource_scope_data.items():
168-
collector_resource = PB2Resource(
170+
collector_resource = PB2Resource.create(
169171
attributes=_encode_attributes(sdk_resource.attributes)
170172
)
171173
resource_data.append(

exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ def encode_metrics(data: MetricsData) -> ExportMetricsServiceRequest:
200200
) in resource_metrics_dict.items():
201201
resource_data.append(
202202
pb2.ResourceMetrics(
203-
resource=PB2Resource(
203+
resource=PB2Resource.create(
204204
attributes=_encode_attributes(sdk_resource.attributes)
205205
),
206206
scope_metrics=scope_data.values(),

exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@
4444
4545
from opentelemetry import trace
4646
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
47-
from opentelemetry.sdk.resources import Resource
47+
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
4848
from opentelemetry.sdk.trace import TracerProvider
4949
from opentelemetry.sdk.trace.export import BatchSpanProcessor
5050
5151
# Resource can be required for some backends, e.g. Jaeger
5252
# If resource wouldn't be set - traces wouldn't appears in Jaeger
53-
resource = Resource(attributes={
54-
"service.name": "service"
53+
resource = Resource.create(attributes={
54+
SERVICE_NAME: "service"
5555
})
5656
5757
trace.set_tracer_provider(TracerProvider(resource=resource))

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@
4444
4545
from opentelemetry import trace
4646
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
47-
from opentelemetry.sdk.resources import Resource
47+
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
4848
from opentelemetry.sdk.trace import TracerProvider
4949
from opentelemetry.sdk.trace.export import BatchSpanProcessor
5050
5151
# Resource can be required for some backends, e.g. Jaeger
5252
# If resource wouldn't be set - traces wouldn't appears in Jaeger
53-
resource = Resource(attributes={
54-
"service.name": "service"
53+
resource = Resource.create(attributes={
54+
SERVICE_NAME: "service"
5555
})
5656
5757
trace.set_tracer_provider(TracerProvider(resource=resource))

opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ def create(
222222
continue
223223
resource = get_aggregated_resources(
224224
resource_detectors, _DEFAULT_RESOURCE
225-
).merge(Resource(attributes, schema_url))
225+
).merge(Resource.create(attributes, schema_url))
226226

227227
if not resource.attributes.get(SERVICE_NAME, None):
228228
default_service_name = "unknown_service"
@@ -233,7 +233,9 @@ def create(
233233
if process_executable_name:
234234
default_service_name += ":" + process_executable_name
235235
resource = resource.merge(
236-
Resource({SERVICE_NAME: default_service_name}, schema_url)
236+
Resource.create(
237+
{SERVICE_NAME: default_service_name}, schema_url
238+
)
237239
)
238240
return resource
239241

@@ -282,7 +284,7 @@ def merge(self, other: "Resource") -> "Resource":
282284
other.schema_url,
283285
)
284286
return self
285-
return Resource(merged_attributes, schema_url) # type: ignore
287+
return Resource.create(merged_attributes, schema_url) # type: ignore
286288

287289
def __eq__(self, other: object) -> bool:
288290
if not isinstance(other, Resource):
@@ -310,8 +312,8 @@ def to_json(self, indent: Optional[int] = 4) -> str:
310312
)
311313

312314

313-
_EMPTY_RESOURCE = Resource({})
314-
_DEFAULT_RESOURCE = Resource(
315+
_EMPTY_RESOURCE = Resource.create({})
316+
_DEFAULT_RESOURCE = Resource.create(
315317
{
316318
TELEMETRY_SDK_LANGUAGE: "python",
317319
TELEMETRY_SDK_NAME: "opentelemetry",
@@ -353,7 +355,7 @@ def detect(self) -> "Resource":
353355
service_name = environ.get(OTEL_SERVICE_NAME)
354356
if service_name:
355357
env_resource_map[SERVICE_NAME] = service_name
356-
return Resource(env_resource_map)
358+
return Resource.create(env_resource_map)
357359

358360

359361
class ProcessResourceDetector(ResourceDetector):
@@ -396,7 +398,7 @@ def detect(self) -> "Resource":
396398
username = process.username()
397399
resource_info[PROCESS_OWNER] = username
398400

399-
return Resource(resource_info) # type: ignore
401+
return Resource.create(resource_info) # type: ignore
400402

401403

402404
class OsResourceDetector(ResourceDetector):
@@ -475,7 +477,7 @@ def detect(self) -> "Resource":
475477
os_type = "solaris"
476478
os_version = platform.version()
477479

478-
return Resource(
480+
return Resource.create(
479481
{
480482
OS_TYPE: os_type,
481483
OS_VERSION: os_version,
@@ -489,7 +491,7 @@ class _HostResourceDetector(ResourceDetector):
489491
"""
490492

491493
def detect(self) -> "Resource":
492-
return Resource(
494+
return Resource.create(
493495
{
494496
HOST_NAME: socket.gethostname(),
495497
HOST_ARCH: platform.machine(),

0 commit comments

Comments
 (0)