omnata-plugin-runtime 0.8.0a196__py3-none-any.whl → 0.8.0a198__py3-none-any.whl
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.
- omnata_plugin_runtime/omnata_plugin.py +10 -0
- {omnata_plugin_runtime-0.8.0a196.dist-info → omnata_plugin_runtime-0.8.0a198.dist-info}/METADATA +1 -1
- {omnata_plugin_runtime-0.8.0a196.dist-info → omnata_plugin_runtime-0.8.0a198.dist-info}/RECORD +5 -5
- {omnata_plugin_runtime-0.8.0a196.dist-info → omnata_plugin_runtime-0.8.0a198.dist-info}/LICENSE +0 -0
- {omnata_plugin_runtime-0.8.0a196.dist-info → omnata_plugin_runtime-0.8.0a198.dist-info}/WHEEL +0 -0
@@ -48,6 +48,7 @@ from snowflake.snowpark.functions import col
|
|
48
48
|
from tenacity import Retrying, stop_after_attempt, wait_fixed, retry_if_exception_message
|
49
49
|
|
50
50
|
from .logging import OmnataPluginLogHandler, logger, tracer
|
51
|
+
from opentelemetry import context
|
51
52
|
|
52
53
|
from .api import (
|
53
54
|
PluginMessage,
|
@@ -316,6 +317,8 @@ class SyncRequest(ABC):
|
|
316
317
|
self._cancel_checking_task = None
|
317
318
|
self._rate_limit_update_task = None
|
318
319
|
self._last_stream_progress_update = None
|
320
|
+
# store the opentelemetry context so that it can be attached inside threads
|
321
|
+
self.opentelemetry_context = context.get_current()
|
319
322
|
|
320
323
|
threading.excepthook = self.thread_exception_hook
|
321
324
|
if self.development_mode is False:
|
@@ -387,6 +390,7 @@ class SyncRequest(ABC):
|
|
387
390
|
"""
|
388
391
|
Designed to be run in a thread, this method polls the results every 20 seconds and sends them back to Snowflake.
|
389
392
|
"""
|
393
|
+
context.attach(self.opentelemetry_context)
|
390
394
|
while not cancellation_token.is_set():
|
391
395
|
logger.debug("apply results worker checking for results")
|
392
396
|
self.apply_results_queue()
|
@@ -399,6 +403,7 @@ class SyncRequest(ABC):
|
|
399
403
|
It also gives us the latest rate limit state from Snowflake, so that activity on other syncs/branches can
|
400
404
|
impact rate limiting on this one.
|
401
405
|
"""
|
406
|
+
context.attach(self.opentelemetry_context)
|
402
407
|
while not cancellation_token.is_set():
|
403
408
|
try:
|
404
409
|
self.apply_rate_limit_state()
|
@@ -408,6 +413,7 @@ class SyncRequest(ABC):
|
|
408
413
|
logger.info("rate limit update worker exiting")
|
409
414
|
|
410
415
|
def __cancel_checking_worker(self, cancellation_token:threading.Event):
|
416
|
+
context.attach(self.opentelemetry_context)
|
411
417
|
"""
|
412
418
|
Designed to be run in a thread, this method checks to see if the sync run has been cancelled
|
413
419
|
or if the deadline has been reached.
|
@@ -1637,6 +1643,8 @@ class OmnataPlugin(ABC):
|
|
1637
1643
|
take care of various status updates and loading enqueued results.
|
1638
1644
|
Only set this to True if you plan to do all of this yourself (e.g. in a Java stored proc)
|
1639
1645
|
"""
|
1646
|
+
# store the opentelemetry context so that it can be attached inside threads
|
1647
|
+
self.opentelemetry_context = context.get_current()
|
1640
1648
|
|
1641
1649
|
|
1642
1650
|
@abstractmethod
|
@@ -1946,6 +1954,7 @@ def __managed_outbound_processing_worker(
|
|
1946
1954
|
Consumes a fixed sized set of records by passing them to the wrapped function,
|
1947
1955
|
while adhering to the defined API constraints.
|
1948
1956
|
"""
|
1957
|
+
context.attach(plugin_class_obj.opentelemetry_context)
|
1949
1958
|
logger.debug(
|
1950
1959
|
f"worker {worker_index} processing. Cancelled: {cancellation_token.is_set()}"
|
1951
1960
|
)
|
@@ -2128,6 +2137,7 @@ def __managed_inbound_processing_worker(
|
|
2128
2137
|
A worker thread for the managed_inbound_processing annotation.
|
2129
2138
|
Passes single streams at a time to the wrapped function, adhering to concurrency constraints.
|
2130
2139
|
"""
|
2140
|
+
context.attach(plugin_class_obj.opentelemetry_context)
|
2131
2141
|
while not cancellation_token.is_set():
|
2132
2142
|
# Get our generator object out of the queue
|
2133
2143
|
logger.debug(
|
{omnata_plugin_runtime-0.8.0a196.dist-info → omnata_plugin_runtime-0.8.0a198.dist-info}/RECORD
RENAMED
@@ -3,10 +3,10 @@ omnata_plugin_runtime/api.py,sha256=tVi4KLL0v5N3yz3Ie0kSyFemryu572gCbtSRfWN6wBU,
|
|
3
3
|
omnata_plugin_runtime/configuration.py,sha256=6JmgE4SL3F5cGlDYqt17A1vTFu6nB74yWgEpQ5qV9ho,38380
|
4
4
|
omnata_plugin_runtime/forms.py,sha256=ueodN2GIMS5N9fqebpY4uNGJnjEb9HcuaVQVfWH-cGg,19838
|
5
5
|
omnata_plugin_runtime/logging.py,sha256=WBuZt8lF9E5oFWM4KYQbE8dDJ_HctJ1pN3BHwU6rcd0,4461
|
6
|
-
omnata_plugin_runtime/omnata_plugin.py,sha256=
|
6
|
+
omnata_plugin_runtime/omnata_plugin.py,sha256=GAvFRnx02_beTuw1LhPgOBxS_cTJmjDXc4EwVk69ZY8,131191
|
7
7
|
omnata_plugin_runtime/plugin_entrypoints.py,sha256=3nqIWOlUdNVkBu7YBqC73Gb5G_xvMUzmlZf838N0JSg,32728
|
8
8
|
omnata_plugin_runtime/rate_limiting.py,sha256=eOWVRYWiqPlVeYzmB1exVXfXbrcpmYb7vtTi9B-4zkQ,25868
|
9
|
-
omnata_plugin_runtime-0.8.
|
10
|
-
omnata_plugin_runtime-0.8.
|
11
|
-
omnata_plugin_runtime-0.8.
|
12
|
-
omnata_plugin_runtime-0.8.
|
9
|
+
omnata_plugin_runtime-0.8.0a198.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
|
10
|
+
omnata_plugin_runtime-0.8.0a198.dist-info/METADATA,sha256=tnVsgQAi4ZfgczB0MjUQD-Sbezcm3jxi4TfYO124OG8,2148
|
11
|
+
omnata_plugin_runtime-0.8.0a198.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
12
|
+
omnata_plugin_runtime-0.8.0a198.dist-info/RECORD,,
|
{omnata_plugin_runtime-0.8.0a196.dist-info → omnata_plugin_runtime-0.8.0a198.dist-info}/LICENSE
RENAMED
File without changes
|
{omnata_plugin_runtime-0.8.0a196.dist-info → omnata_plugin_runtime-0.8.0a198.dist-info}/WHEEL
RENAMED
File without changes
|