rebrandly-otel 0.1.32__tar.gz → 0.1.34__tar.gz

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.

Potentially problematic release.


This version of rebrandly-otel might be problematic. Click here for more details.

Files changed (20) hide show
  1. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/PKG-INFO +1 -1
  2. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/rebrandly_otel.egg-info/PKG-INFO +1 -1
  3. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/setup.py +1 -1
  4. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/logs.py +3 -2
  5. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/metrics.py +8 -2
  6. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/rebrandly_otel.py +8 -3
  7. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/LICENSE +0 -0
  8. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/README.md +0 -0
  9. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/rebrandly_otel.egg-info/SOURCES.txt +0 -0
  10. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/rebrandly_otel.egg-info/dependency_links.txt +0 -0
  11. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/rebrandly_otel.egg-info/requires.txt +0 -0
  12. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/rebrandly_otel.egg-info/top_level.txt +0 -0
  13. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/setup.cfg +0 -0
  14. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/__init__.py +0 -0
  15. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/fastapi_support.py +0 -0
  16. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/flask_support.py +0 -0
  17. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/otel_utils.py +0 -0
  18. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/pymysql_instrumentation.py +0 -0
  19. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/src/traces.py +0 -0
  20. {rebrandly_otel-0.1.32 → rebrandly_otel-0.1.34}/tests/test_usage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rebrandly_otel
3
- Version: 0.1.32
3
+ Version: 0.1.34
4
4
  Summary: Python OTEL wrapper by Rebrandly
5
5
  Home-page: https://github.com/rebrandly/rebrandly-otel-python
6
6
  Author: Antonio Romano
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rebrandly_otel
3
- Version: 0.1.32
3
+ Version: 0.1.34
4
4
  Summary: Python OTEL wrapper by Rebrandly
5
5
  Home-page: https://github.com/rebrandly/rebrandly-otel-python
6
6
  Author: Antonio Romano
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="rebrandly_otel",
8
- version="0.1.32",
8
+ version="0.1.34",
9
9
  author="Antonio Romano",
10
10
  author_email="antonio@rebrandly.com",
11
11
  description="Python OTEL wrapper by Rebrandly",
@@ -100,9 +100,10 @@ class RebrandlyLogger:
100
100
  Args:
101
101
  level: Logging level (e.g., logging.INFO, logging.DEBUG, logging.WARNING)
102
102
  """
103
- # Set level on the service-specific logger
103
+ # Set level on the service-specific logger using the original unbound method
104
+ # This avoids infinite recursion if the logger's setLevel has been monkey-patched
104
105
  if self._logger:
105
- self._logger.setLevel(level)
106
+ logging.Logger.setLevel(self._logger, level)
106
107
 
107
108
  # Set level on the OTEL handler
108
109
  root_logger = logging.getLogger()
@@ -120,7 +120,7 @@ class RebrandlyMeter:
120
120
  def __register_default_metrics(self):
121
121
  """Register default metrics."""
122
122
  for name, definition in self.DEFAULT_METRICS.items():
123
- self.register_metric(definition)
123
+ self.register_metric(definition, key=name)
124
124
 
125
125
  @property
126
126
  def meter(self) -> Meter:
@@ -162,13 +162,19 @@ class RebrandlyMeter:
162
162
  except Exception as e:
163
163
  print(f"[Meter] Error during shutdown: {e}")
164
164
 
165
- def register_metric(self, definition: MetricDefinition) -> Instrument:
165
+ def register_metric(self, definition: MetricDefinition, key: Optional[str] = None) -> Instrument:
166
166
  """Register a new metric."""
167
+ # Use the full name as primary key
167
168
  if definition.name in self._metrics:
168
169
  return self._metrics[definition.name]
169
170
 
170
171
  metric = self.__create_metric(definition)
171
172
  self._metrics[definition.name] = metric
173
+
174
+ # Also store by key name if provided (for easy lookup)
175
+ if key:
176
+ self._metrics[key] = metric
177
+
172
178
  return metric
173
179
 
174
180
  def __create_metric(self, definition: MetricDefinition) -> Instrument:
@@ -348,9 +348,14 @@ class RebrandlyOTEL:
348
348
  cpu_percent = psutil.cpu_percent(interval=0.1) # Shorter interval for Lambda
349
349
  memory = psutil.virtual_memory()
350
350
 
351
- # Record metrics using standardized names
352
- self.meter.GlobalMetrics.memory_usage_bytes.set(memory.used)
353
- self.meter.GlobalMetrics.cpu_usage_percentage.set(cpu_percent)
351
+ # Record metrics using standardized names (with safety checks)
352
+ try:
353
+ if self.meter.GlobalMetrics.memory_usage_bytes:
354
+ self.meter.GlobalMetrics.memory_usage_bytes.set(memory.used)
355
+ if self.meter.GlobalMetrics.cpu_usage_percentage:
356
+ self.meter.GlobalMetrics.cpu_usage_percentage.set(cpu_percent)
357
+ except Exception as e:
358
+ print(f"[Rebrandly OTEL] Warning: Could not record system metrics: {e}")
354
359
 
355
360
  print(f"Function Memory usage: {memory.percent}%, CPU usage: {cpu_percent}%")
356
361
 
File without changes