dagster-cloud 1.12.10__py3-none-any.whl → 1.12.12__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.
- dagster_cloud/agent/dagster_cloud_agent.py +43 -86
- dagster_cloud/instance/__init__.py +1 -28
- dagster_cloud/pex/grpc/server/manager.py +3 -3
- dagster_cloud/version.py +1 -1
- dagster_cloud/workspace/docker/__init__.py +2 -1
- dagster_cloud/workspace/ecs/client.py +1 -1
- dagster_cloud/workspace/ecs/launcher.py +8 -4
- dagster_cloud/workspace/kubernetes/launcher.py +5 -3
- dagster_cloud/workspace/kubernetes/utils.py +6 -3
- dagster_cloud/workspace/user_code_launcher/user_code_launcher.py +41 -104
- dagster_cloud/workspace/user_code_launcher/utils.py +14 -0
- {dagster_cloud-1.12.10.dist-info → dagster_cloud-1.12.12.dist-info}/METADATA +16 -13
- {dagster_cloud-1.12.10.dist-info → dagster_cloud-1.12.12.dist-info}/RECORD +15 -37
- {dagster_cloud-1.12.10.dist-info → dagster_cloud-1.12.12.dist-info}/WHEEL +1 -1
- dagster_cloud/agent/instrumentation/__init__.py +0 -0
- dagster_cloud/agent/instrumentation/constants.py +0 -2
- dagster_cloud/agent/instrumentation/run_launch.py +0 -23
- dagster_cloud/agent/instrumentation/schedule.py +0 -34
- dagster_cloud/agent/instrumentation/sensor.py +0 -34
- dagster_cloud/opentelemetry/__init__.py +0 -0
- dagster_cloud/opentelemetry/config/__init__.py +0 -73
- dagster_cloud/opentelemetry/config/exporter.py +0 -81
- dagster_cloud/opentelemetry/config/log_record_processor.py +0 -40
- dagster_cloud/opentelemetry/config/logging_handler.py +0 -14
- dagster_cloud/opentelemetry/config/meter_provider.py +0 -9
- dagster_cloud/opentelemetry/config/metric_reader.py +0 -39
- dagster_cloud/opentelemetry/controller.py +0 -319
- dagster_cloud/opentelemetry/enum.py +0 -58
- dagster_cloud/opentelemetry/factories/__init__.py +0 -1
- dagster_cloud/opentelemetry/factories/logs.py +0 -113
- dagster_cloud/opentelemetry/factories/metrics.py +0 -121
- dagster_cloud/opentelemetry/metrics/__init__.py +0 -0
- dagster_cloud/opentelemetry/metrics/meter.py +0 -140
- dagster_cloud/opentelemetry/observers/__init__.py +0 -0
- dagster_cloud/opentelemetry/observers/dagster_exception_handler.py +0 -40
- dagster_cloud/opentelemetry/observers/execution_observer.py +0 -178
- {dagster_cloud-1.12.10.dist-info → dagster_cloud-1.12.12.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import hashlib
|
|
2
2
|
import json
|
|
3
|
+
import os
|
|
3
4
|
import uuid
|
|
4
5
|
from typing import Optional
|
|
5
6
|
|
|
@@ -8,6 +9,19 @@ from dagster._core.instance.ref import InstanceRef
|
|
|
8
9
|
from dagster._serdes import serialize_value
|
|
9
10
|
from dagster_cloud_cli.core.workspace import CodeLocationDeployData
|
|
10
11
|
|
|
12
|
+
DEFAULT_CODE_SERVER_PORT = 4000
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def get_code_server_port() -> int:
|
|
16
|
+
"""Returns the code server port from DAGSTER_CLOUD_CODE_SERVER_PORT env var.
|
|
17
|
+
|
|
18
|
+
Defaults to 4000 if the environment variable is not set.
|
|
19
|
+
"""
|
|
20
|
+
port_str = os.environ.get("DAGSTER_CLOUD_CODE_SERVER_PORT")
|
|
21
|
+
if port_str is None:
|
|
22
|
+
return DEFAULT_CODE_SERVER_PORT
|
|
23
|
+
return int(port_str)
|
|
24
|
+
|
|
11
25
|
|
|
12
26
|
def unique_resource_name(deployment_name, location_name, length_limit, sanitize_fn):
|
|
13
27
|
hash_value = str(uuid.uuid4().hex)[0:6]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dagster-cloud
|
|
3
|
-
Version: 1.12.
|
|
3
|
+
Version: 1.12.12
|
|
4
4
|
Author-email: Elementl <support@elementl.com>
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Project-URL: Homepage, https://dagster.io/cloud
|
|
@@ -22,19 +22,17 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
27
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
26
28
|
Classifier: Topic :: System :: Monitoring
|
|
27
29
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
28
30
|
Classifier: Operating System :: OS Independent
|
|
29
|
-
Requires-Python: <3.
|
|
31
|
+
Requires-Python: <3.15,>=3.9
|
|
30
32
|
Description-Content-Type: text/markdown
|
|
31
|
-
Requires-Dist: dagster==1.12.
|
|
32
|
-
Requires-Dist: dagster-shared==1.12.
|
|
33
|
-
Requires-Dist: dagster-cloud-cli==1.12.
|
|
34
|
-
Requires-Dist: opentelemetry-api<2,>=1.27.0
|
|
35
|
-
Requires-Dist: opentelemetry-sdk<2,>=1.27.0
|
|
36
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2,>=1.27.0
|
|
37
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.27.0
|
|
33
|
+
Requires-Dist: dagster==1.12.12
|
|
34
|
+
Requires-Dist: dagster-shared==1.12.12
|
|
35
|
+
Requires-Dist: dagster-cloud-cli==1.12.12
|
|
38
36
|
Requires-Dist: pex<2.60.0,>=2.1.132
|
|
39
37
|
Requires-Dist: questionary
|
|
40
38
|
Requires-Dist: requests
|
|
@@ -53,24 +51,29 @@ Requires-Dist: pylint; extra == "tests"
|
|
|
53
51
|
Requires-Dist: pytest; extra == "tests"
|
|
54
52
|
Requires-Dist: types-PyYAML; extra == "tests"
|
|
55
53
|
Requires-Dist: types-requests; extra == "tests"
|
|
56
|
-
Requires-Dist: dagster-cloud-test-infra; extra == "tests"
|
|
57
54
|
Requires-Dist: dbt-bigquery>=1.9.0; extra == "tests"
|
|
58
55
|
Requires-Dist: dbt-core; extra == "tests"
|
|
59
56
|
Requires-Dist: dbt-snowflake; extra == "tests"
|
|
60
57
|
Requires-Dist: dbt-duckdb; extra == "tests"
|
|
61
58
|
Requires-Dist: dagster-dbt; extra == "tests"
|
|
62
59
|
Requires-Dist: dagster-k8s; extra == "tests"
|
|
60
|
+
Requires-Dist: dagster-docker; extra == "tests"
|
|
63
61
|
Requires-Dist: dagster-cloud-backend; extra == "tests"
|
|
62
|
+
Requires-Dist: dagster-test; extra == "tests"
|
|
63
|
+
Requires-Dist: dagster-cloud-test-infra; extra == "tests"
|
|
64
|
+
Requires-Dist: dagster-cloud-dagit; extra == "tests"
|
|
65
|
+
Requires-Dist: dagster-dg-cli; extra == "tests"
|
|
66
|
+
Requires-Dist: syrupy; extra == "tests"
|
|
64
67
|
Provides-Extra: insights
|
|
65
68
|
Requires-Dist: pyarrow; extra == "insights"
|
|
66
69
|
Provides-Extra: docker
|
|
67
70
|
Requires-Dist: docker; extra == "docker"
|
|
68
|
-
Requires-Dist: dagster-docker==0.28.
|
|
71
|
+
Requires-Dist: dagster-docker==0.28.12; extra == "docker"
|
|
69
72
|
Provides-Extra: kubernetes
|
|
70
73
|
Requires-Dist: kubernetes; extra == "kubernetes"
|
|
71
|
-
Requires-Dist: dagster-k8s==0.28.
|
|
74
|
+
Requires-Dist: dagster-k8s==0.28.12; extra == "kubernetes"
|
|
72
75
|
Provides-Extra: ecs
|
|
73
|
-
Requires-Dist: dagster-aws==0.28.
|
|
76
|
+
Requires-Dist: dagster-aws==0.28.12; extra == "ecs"
|
|
74
77
|
Requires-Dist: boto3; extra == "ecs"
|
|
75
78
|
Provides-Extra: sandbox
|
|
76
79
|
Requires-Dist: supervisor; extra == "sandbox"
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
dagster_cloud/__init__.py,sha256=zyM9bqyJFxtEClv_5X4VRldrj0UniKgZzEl0pPJJ_Ts,355
|
|
2
2
|
dagster_cloud/constants.py,sha256=CPAqXJ99SWGMviksdIA2A9894FEvHChNk8UcP4TluYM,455
|
|
3
3
|
dagster_cloud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
dagster_cloud/version.py,sha256=
|
|
4
|
+
dagster_cloud/version.py,sha256=vKk1j8B-0kB8gelcQBK0OZVY0ogGIIA3KR4K_1iNmJQ,24
|
|
5
5
|
dagster_cloud/agent/__init__.py,sha256=_erVyIrxuHUiyNerwX8vNZcKZN8NAloTEkPq8vPZ3MI,811
|
|
6
|
-
dagster_cloud/agent/dagster_cloud_agent.py,sha256=
|
|
6
|
+
dagster_cloud/agent/dagster_cloud_agent.py,sha256=SK_aJX60jXtMbV9ebtSqN6R9XAmF51bl9uEMA9DJdNo,59009
|
|
7
7
|
dagster_cloud/agent/queries.py,sha256=iI84GQ1Zxt5ryo6M1ELIaIae-gwUY14QPPMUeiFK97o,1837
|
|
8
8
|
dagster_cloud/agent/cli/__init__.py,sha256=rGbeQJ2Ap95wPYQuk5XbyHAfP9cs-XPUSmuVM_k278k,9084
|
|
9
|
-
dagster_cloud/agent/instrumentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
dagster_cloud/agent/instrumentation/constants.py,sha256=X4GG4adYsOAde_kff89LtErMS9abbna_wm9sjGPvvlw,95
|
|
11
|
-
dagster_cloud/agent/instrumentation/run_launch.py,sha256=fiEgW4UAtljMZzEZDidpTTT42yCfwoCYiaizVml5zRQ,734
|
|
12
|
-
dagster_cloud/agent/instrumentation/schedule.py,sha256=DRhJ_2PwGeaeOZ1ey9NbSsAplY_EJS1supcrljtc858,1304
|
|
13
|
-
dagster_cloud/agent/instrumentation/sensor.py,sha256=wGpe3XHyXx4PWlXEa7CNQq3f7-IxWdOgTLEJH2FRnGk,1290
|
|
14
9
|
dagster_cloud/anomaly_detection/__init__.py,sha256=5sFqtRv6jEvUGN3-oXmSlUZ_dPj_L29SoVFBFuHkMvU,341
|
|
15
10
|
dagster_cloud/anomaly_detection/defs.py,sha256=_CgpMed-B3kAOukSXcbR7hm6n3tJIoC4TvnZGYaUTTo,10162
|
|
16
11
|
dagster_cloud/anomaly_detection/mutation.py,sha256=TDMwkfWGXKF0609FL8T1NgnXgtIoSi8VpjSQ3y89C8Y,410
|
|
@@ -46,29 +41,12 @@ dagster_cloud/execution/cloud_run_launcher/process.py,sha256=eYxvzcaJbqYKjHcXMUU
|
|
|
46
41
|
dagster_cloud/execution/monitoring/__init__.py,sha256=2_o2UjeEPvfSpnOb0zky3ZQs-G9VHABAXzjvfMnAh8A,17782
|
|
47
42
|
dagster_cloud/execution/utils/__init__.py,sha256=EfU-tK5-ScZYLF_zmWqUgIrmLsb9DDHWFN-CSg3BSXY,254
|
|
48
43
|
dagster_cloud/execution/utils/process.py,sha256=Er6FKMdlGBjpOHDEIkukZf4-TiZ3Xi_iqurfxkOozGM,911
|
|
49
|
-
dagster_cloud/instance/__init__.py,sha256=
|
|
44
|
+
dagster_cloud/instance/__init__.py,sha256=fGNKbJkE1xBf8k9Xa-OLSwJkTmNMYNBaR-44QWdZsX0,27053
|
|
50
45
|
dagster_cloud/instrumentation/__init__.py,sha256=OKaT4qkwQNmCFdKveVrgB7JIo5sZD1F1rutQKdozK_4,886
|
|
51
46
|
dagster_cloud/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
47
|
dagster_cloud/metadata/source_code.py,sha256=yCUfD6V-wR2s4AUrmVpX_Dd7Gln7SYbtpuEpAH71J1I,5952
|
|
53
48
|
dagster_cloud/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
49
|
dagster_cloud/metrics/tracer.py,sha256=DtVuEUp6LI2p8LRyMcuNBn4dChs8vGT9swSCtuYHgIw,1518
|
|
55
|
-
dagster_cloud/opentelemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
56
|
-
dagster_cloud/opentelemetry/controller.py,sha256=48CvdcljFZ0ZEtDlzMtRfF1fOzVYsSMr08w9dw5je08,13030
|
|
57
|
-
dagster_cloud/opentelemetry/enum.py,sha256=ls6J0fde00WP9vYdFNUOQijbTBGsb7kRD0lar6ImtLk,1686
|
|
58
|
-
dagster_cloud/opentelemetry/config/__init__.py,sha256=Aegfue6NedLV64yCAKQtV3uDjJJLjWKeg53F7SQ46zs,2868
|
|
59
|
-
dagster_cloud/opentelemetry/config/exporter.py,sha256=zznpS4PaBJ5RrvJiRZH-DBi0k0tMK7_xsUbrmbpsyxM,3551
|
|
60
|
-
dagster_cloud/opentelemetry/config/log_record_processor.py,sha256=nCeOwxHUlWaes0MHUFvkRlofa5w0_alHpuFYQhLuccY,1631
|
|
61
|
-
dagster_cloud/opentelemetry/config/logging_handler.py,sha256=POuO_Q_mcsXm9bIdIbg_oEvNswISgkbuYx6R2XiNykw,378
|
|
62
|
-
dagster_cloud/opentelemetry/config/meter_provider.py,sha256=CDNMaO-CDOWM8MwY6PG0FWSM326QiK1G4pLUtal_2Ew,242
|
|
63
|
-
dagster_cloud/opentelemetry/config/metric_reader.py,sha256=pZ-H7stZ-Dv4rfZHdbgM0Ko1CCKRrI7Yl-DIixGIPDY,1636
|
|
64
|
-
dagster_cloud/opentelemetry/factories/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
65
|
-
dagster_cloud/opentelemetry/factories/logs.py,sha256=U8nGPYnYZPP0SA2Lu5l9cclscZqZLFhpnKnBeMU1wuQ,4047
|
|
66
|
-
dagster_cloud/opentelemetry/factories/metrics.py,sha256=GnTqoNpKkbabIYfY9-ISD2TalXSllp43UgIOPT4HqyY,4659
|
|
67
|
-
dagster_cloud/opentelemetry/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
|
-
dagster_cloud/opentelemetry/metrics/meter.py,sha256=g8mFN2uESWE1aHZcu4GqdBJaXwx6Hlm0y_x2GfghXf8,4447
|
|
69
|
-
dagster_cloud/opentelemetry/observers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
|
-
dagster_cloud/opentelemetry/observers/dagster_exception_handler.py,sha256=EzSeP7-pndKkMiBf8wXVOnuyvcPxToB4QqWOisA1Hm8,1813
|
|
71
|
-
dagster_cloud/opentelemetry/observers/execution_observer.py,sha256=ZpD74KGUm6f_XnP5sJVgl8-u_pX8p-98PmlhnN0V9KM,6287
|
|
72
50
|
dagster_cloud/pex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
51
|
dagster_cloud/pex/grpc/__init__.py,sha256=hWUUK6Rz4Yb-eqWsQlcbN_u5T5a8E9XrS28_i-UIFCw,371
|
|
74
52
|
dagster_cloud/pex/grpc/client.py,sha256=dzHY9GTpMeJmILiA1g-F8zTse65dlSjXOO0oGLL9i84,5356
|
|
@@ -79,7 +57,7 @@ dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2.py,sha256=5WTKXp6mq4bREnT
|
|
|
79
57
|
dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2.pyi,sha256=RdlI8IAu7NxLB0LE3lGGtFMTCfiBxFWPjBwtYvFiiaY,5922
|
|
80
58
|
dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2_grpc.py,sha256=cCwuUnJ1UH3NFLebv1EZG_TfsV8n9IF9A-WTsfXIeZk,9301
|
|
81
59
|
dagster_cloud/pex/grpc/server/__init__.py,sha256=OKZqM9NdiRBUOUtWRdWG1_kaS13ELJJ5yHTHUc375ns,177
|
|
82
|
-
dagster_cloud/pex/grpc/server/manager.py,sha256=
|
|
60
|
+
dagster_cloud/pex/grpc/server/manager.py,sha256=t1Gozwu05XTCPwIrmOkLUmK0QOayNQDDmIevE7vw9C4,18756
|
|
83
61
|
dagster_cloud/pex/grpc/server/registry.py,sha256=8K7K0X3vxK3LBz9JSglDWs5BSktQ0ohCz9INYrDM08w,12940
|
|
84
62
|
dagster_cloud/pex/grpc/server/server.py,sha256=wdpCFDKQbV7C-M9l5PryQjwtGZphdaG7hO1a3GVXqbQ,16441
|
|
85
63
|
dagster_cloud/pex/grpc/server/cli/__init__.py,sha256=Se6sC8sSWlkgO_RdD4KPO-0xNua3IwXIeM9b_u10Hlo,2523
|
|
@@ -113,22 +91,22 @@ dagster_cloud/workspace/config_schema/__init__.py,sha256=tkGPjf7fw_k0bB_FDZJsIdN
|
|
|
113
91
|
dagster_cloud/workspace/config_schema/docker.py,sha256=Xs7FDBVpIOMlWcKXrVWX_lSDgf9qpc9UpYcps1IdQDQ,967
|
|
114
92
|
dagster_cloud/workspace/config_schema/ecs.py,sha256=NKB08hsYlowORvBHCrTqmKVbF67q1XDb-40s1phI5DE,6575
|
|
115
93
|
dagster_cloud/workspace/config_schema/kubernetes.py,sha256=JIdZ5hX06hAw1lGT-5AcwZjfoKMnMj3PKjaQ9GDUL-U,5286
|
|
116
|
-
dagster_cloud/workspace/docker/__init__.py,sha256=
|
|
94
|
+
dagster_cloud/workspace/docker/__init__.py,sha256=LLjxPAUHtxuI-kIDH6jpl9HhSYnDfMRCHgKS355ODHM,15204
|
|
117
95
|
dagster_cloud/workspace/docker/utils.py,sha256=VjT2kiCTByZj9HIQIO34Ukqvb-3cqlMQe54wqmyNh9I,374
|
|
118
96
|
dagster_cloud/workspace/ecs/__init__.py,sha256=Gys8s6kBDnfi198uRflXXRshwOKW-MBEACWqR_SCY-E,92
|
|
119
|
-
dagster_cloud/workspace/ecs/client.py,sha256=
|
|
120
|
-
dagster_cloud/workspace/ecs/launcher.py,sha256=
|
|
97
|
+
dagster_cloud/workspace/ecs/client.py,sha256=sZ4qWgY8d_0kHSnUY9dUmSNY0I5SSOBfFjhbmf0hQ_o,31157
|
|
98
|
+
dagster_cloud/workspace/ecs/launcher.py,sha256=rkXccZlkIXCloxnnH0Grf__4juf0zbDG1-NG2bz55aw,31323
|
|
121
99
|
dagster_cloud/workspace/ecs/run_launcher.py,sha256=e8Rgd3dcrHL1O_Q7UcR11JO75sxCcA8YaaOUmpk3WrU,600
|
|
122
100
|
dagster_cloud/workspace/ecs/service.py,sha256=v-puyDEg2BzHA3RJqEhH8V04bUAcrYIlPCH1SThvwWw,4126
|
|
123
101
|
dagster_cloud/workspace/ecs/utils.py,sha256=lWFk48l4a_pCIwP6bClQlb-KmqDS-Wl_8uHlbpGttUw,2990
|
|
124
102
|
dagster_cloud/workspace/kubernetes/__init__.py,sha256=Ds-wUB4LYTOHyYH3xN_QFl7J96qU-_e7gwHPllfIl2o,99
|
|
125
|
-
dagster_cloud/workspace/kubernetes/launcher.py,sha256
|
|
126
|
-
dagster_cloud/workspace/kubernetes/utils.py,sha256=
|
|
103
|
+
dagster_cloud/workspace/kubernetes/launcher.py,sha256=-gaFgxBV8xiAU1r78AYOQGM7vbI9qn2zZj03KjZrfWI,28405
|
|
104
|
+
dagster_cloud/workspace/kubernetes/utils.py,sha256=agkvwi24NPpGexgxV8aJplnLYmxmmXGD5mHCe6rekGU,12285
|
|
127
105
|
dagster_cloud/workspace/user_code_launcher/__init__.py,sha256=E-Izs69AHPAXD9pqd3UH46l4uKxM4Lbz7y2G4KeWzEQ,880
|
|
128
106
|
dagster_cloud/workspace/user_code_launcher/process.py,sha256=6TwjlXZzBlzyQEvmGzuVAUgxe_vCye0Q3aYkPPDAshs,14315
|
|
129
|
-
dagster_cloud/workspace/user_code_launcher/user_code_launcher.py,sha256
|
|
130
|
-
dagster_cloud/workspace/user_code_launcher/utils.py,sha256=
|
|
131
|
-
dagster_cloud-1.12.
|
|
132
|
-
dagster_cloud-1.12.
|
|
133
|
-
dagster_cloud-1.12.
|
|
134
|
-
dagster_cloud-1.12.
|
|
107
|
+
dagster_cloud/workspace/user_code_launcher/user_code_launcher.py,sha256=-W2kXXgpGWRwqApgAc34RdL1YnOU_Ju6cfNniddm9co,100659
|
|
108
|
+
dagster_cloud/workspace/user_code_launcher/utils.py,sha256=gdZEi8Z4EWLNlAljzCWBz3oJ_h8HaiVnN9_BUoCghWw,5845
|
|
109
|
+
dagster_cloud-1.12.12.dist-info/METADATA,sha256=ijmHfyjbFBNwlObulIz8Me9OQTeAQdy3eVipeMHuc0Q,6708
|
|
110
|
+
dagster_cloud-1.12.12.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
|
111
|
+
dagster_cloud-1.12.12.dist-info/top_level.txt,sha256=2hMt-U33jyCgnywNrDB9Ih0EpaVmiO6dFkYcJ7Iwx4I,14
|
|
112
|
+
dagster_cloud-1.12.12.dist-info/RECORD,,
|
|
File without changes
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
|
|
3
|
-
from dagster import DagsterRun
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def extract_run_attributes(deployment_name, run: DagsterRun) -> dict[str, str]:
|
|
7
|
-
attributes = {
|
|
8
|
-
"job": run.job_name or "unknown",
|
|
9
|
-
"repository": "unknown",
|
|
10
|
-
"location": "unknown",
|
|
11
|
-
"deployment": deployment_name,
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
try:
|
|
15
|
-
if run.remote_job_origin:
|
|
16
|
-
attributes["repository"] = (
|
|
17
|
-
run.remote_job_origin.repository_origin.repository_name or "unknown"
|
|
18
|
-
)
|
|
19
|
-
attributes["location"] = run.remote_job_origin.location_name or "unknown"
|
|
20
|
-
except Exception as e: # pylint: disable=broad-except
|
|
21
|
-
logging.warning("Failed to extract additional run attributes", exc_info=e)
|
|
22
|
-
|
|
23
|
-
return attributes
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
from dagster import deserialize_value
|
|
2
|
-
from dagster._core.definitions.schedule_definition import ScheduleExecutionData
|
|
3
|
-
from dagster._core.remote_representation.external_data import ScheduleExecutionErrorSnap
|
|
4
|
-
|
|
5
|
-
from dagster_cloud.opentelemetry.observers.execution_observer import ExecutionObserverInstruments
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def inspect_schedule_result(
|
|
9
|
-
serialized_data_or_error: str,
|
|
10
|
-
instruments: ExecutionObserverInstruments,
|
|
11
|
-
attributes: dict[str, str],
|
|
12
|
-
) -> str:
|
|
13
|
-
run_requests = []
|
|
14
|
-
status: str = "unknown"
|
|
15
|
-
try:
|
|
16
|
-
evaluation_execution_data = deserialize_value(serialized_data_or_error)
|
|
17
|
-
if isinstance(evaluation_execution_data, ScheduleExecutionData):
|
|
18
|
-
run_requests = evaluation_execution_data.run_requests or []
|
|
19
|
-
if run_requests:
|
|
20
|
-
status = "success"
|
|
21
|
-
else:
|
|
22
|
-
status = "skipped"
|
|
23
|
-
elif isinstance(evaluation_execution_data, ScheduleExecutionErrorSnap):
|
|
24
|
-
status = "error"
|
|
25
|
-
finally:
|
|
26
|
-
if run_requests:
|
|
27
|
-
meter = instruments.meter
|
|
28
|
-
counter = meter.get_counter(
|
|
29
|
-
name=f"{meter.name}.run_requests",
|
|
30
|
-
description="Number of run requests triggered by schedules",
|
|
31
|
-
)
|
|
32
|
-
counter.add(len(run_requests), attributes)
|
|
33
|
-
|
|
34
|
-
return status
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
from dagster import deserialize_value
|
|
2
|
-
from dagster._core.definitions.sensor_definition import SensorExecutionData
|
|
3
|
-
from dagster._core.remote_representation.external_data import SensorExecutionErrorSnap
|
|
4
|
-
|
|
5
|
-
from dagster_cloud.opentelemetry.observers.execution_observer import ExecutionObserverInstruments
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def inspect_sensor_result(
|
|
9
|
-
serialized_data_or_error: str,
|
|
10
|
-
instruments: ExecutionObserverInstruments,
|
|
11
|
-
attributes: dict[str, str],
|
|
12
|
-
) -> str:
|
|
13
|
-
run_requests = []
|
|
14
|
-
status: str = "unknown"
|
|
15
|
-
try:
|
|
16
|
-
evaluation_execution_data = deserialize_value(serialized_data_or_error)
|
|
17
|
-
if isinstance(evaluation_execution_data, SensorExecutionData):
|
|
18
|
-
run_requests = evaluation_execution_data.run_requests or []
|
|
19
|
-
if run_requests:
|
|
20
|
-
status = "success"
|
|
21
|
-
else:
|
|
22
|
-
status = "skipped"
|
|
23
|
-
elif isinstance(evaluation_execution_data, SensorExecutionErrorSnap):
|
|
24
|
-
status = "error"
|
|
25
|
-
finally:
|
|
26
|
-
if run_requests:
|
|
27
|
-
meter = instruments.meter
|
|
28
|
-
counter = meter.get_counter(
|
|
29
|
-
name=f"{meter.name}.run_requests",
|
|
30
|
-
description="Number of run requests triggered by sensors",
|
|
31
|
-
)
|
|
32
|
-
counter.add(len(run_requests), attributes)
|
|
33
|
-
|
|
34
|
-
return status
|
|
File without changes
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
from dagster import BoolSource, Field, Shape, StringSource
|
|
2
|
-
|
|
3
|
-
from dagster_cloud.opentelemetry.config.exporter import exporter_config_schema
|
|
4
|
-
from dagster_cloud.opentelemetry.config.log_record_processor import log_record_processor_schema
|
|
5
|
-
from dagster_cloud.opentelemetry.config.logging_handler import logging_handler_schema
|
|
6
|
-
from dagster_cloud.opentelemetry.config.meter_provider import meter_provider_config_schema
|
|
7
|
-
from dagster_cloud.opentelemetry.config.metric_reader import metric_reader_config_schema
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def opentelemetry_config_schema():
|
|
11
|
-
return {
|
|
12
|
-
"enabled": Field(
|
|
13
|
-
BoolSource,
|
|
14
|
-
description="Enables OpenTelemetry instrumentation.",
|
|
15
|
-
is_required=False,
|
|
16
|
-
default_value=True,
|
|
17
|
-
),
|
|
18
|
-
"service_name": Field(
|
|
19
|
-
StringSource,
|
|
20
|
-
description="Name of the service to which to send telemetry",
|
|
21
|
-
is_required=False,
|
|
22
|
-
default_value="dagster-cloud-agent",
|
|
23
|
-
),
|
|
24
|
-
"logging": Field(
|
|
25
|
-
description="The logging configuration.",
|
|
26
|
-
is_required=False,
|
|
27
|
-
config=Shape(
|
|
28
|
-
fields={
|
|
29
|
-
"enabled": Field(
|
|
30
|
-
BoolSource,
|
|
31
|
-
description="Enables logging instrumentation.",
|
|
32
|
-
is_required=False,
|
|
33
|
-
default_value=False,
|
|
34
|
-
),
|
|
35
|
-
"exporter": exporter_config_schema("logging"),
|
|
36
|
-
"processor": log_record_processor_schema(),
|
|
37
|
-
"handler": logging_handler_schema(),
|
|
38
|
-
},
|
|
39
|
-
),
|
|
40
|
-
),
|
|
41
|
-
"metrics": Field(
|
|
42
|
-
description="The metrics configuration.",
|
|
43
|
-
is_required=False,
|
|
44
|
-
config=Shape(
|
|
45
|
-
fields={
|
|
46
|
-
"enabled": Field(
|
|
47
|
-
BoolSource,
|
|
48
|
-
description="Enables metrics instrumentation.",
|
|
49
|
-
is_required=False,
|
|
50
|
-
default_value=False,
|
|
51
|
-
),
|
|
52
|
-
"exporter": exporter_config_schema("metrics"),
|
|
53
|
-
"reader": metric_reader_config_schema(),
|
|
54
|
-
"provider": meter_provider_config_schema(),
|
|
55
|
-
},
|
|
56
|
-
),
|
|
57
|
-
),
|
|
58
|
-
# TODO: Add tracing configuration when it's supported.
|
|
59
|
-
# "tracing": Field(
|
|
60
|
-
# description="The tracing configuration.",
|
|
61
|
-
# config=Shape(
|
|
62
|
-
# fields={
|
|
63
|
-
# "enabled": Field(
|
|
64
|
-
# BoolSource,
|
|
65
|
-
# description="Enables tracing instrumentation.",
|
|
66
|
-
# is_required=False,
|
|
67
|
-
# default_value=False,
|
|
68
|
-
# ),
|
|
69
|
-
# "exporter": exporter_config_schema("tracing"),
|
|
70
|
-
# },
|
|
71
|
-
# ),
|
|
72
|
-
# ),
|
|
73
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
from dagster import BoolSource, Enum, Field, IntSource, Map, Permissive, Shape, StringSource
|
|
2
|
-
|
|
3
|
-
from dagster_cloud.opentelemetry.enum import (
|
|
4
|
-
AggregationTemporalityEnum,
|
|
5
|
-
CompressionEnum,
|
|
6
|
-
LoggingExporterEnum,
|
|
7
|
-
MetricsExporterEnum,
|
|
8
|
-
MetricsInstrumentTypesEnum,
|
|
9
|
-
TracingExporterEnum,
|
|
10
|
-
ViewAggregationEnum,
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
# Convert Python to Dagster enums
|
|
14
|
-
compression_enum = Enum.from_python_enum_direct_values(CompressionEnum)
|
|
15
|
-
logging_exporter_enum = Enum.from_python_enum_direct_values(LoggingExporterEnum)
|
|
16
|
-
metrics_exporter_enum = Enum.from_python_enum_direct_values(MetricsExporterEnum)
|
|
17
|
-
tracing_exporter_enum = Enum.from_python_enum_direct_values(TracingExporterEnum)
|
|
18
|
-
|
|
19
|
-
aggregation_temporality_enum = Enum.from_python_enum_direct_values(AggregationTemporalityEnum)
|
|
20
|
-
metrics_instrument_types_enum = Enum.from_python_enum_direct_values(MetricsInstrumentTypesEnum)
|
|
21
|
-
view_aggregation_enum = Enum.from_python_enum_direct_values(ViewAggregationEnum)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def exporter_config_schema(pillar: str) -> Shape:
|
|
25
|
-
"""Different observability pillars have different supported exporters but share common parameters.
|
|
26
|
-
Valid pillars are: logging, metrics, tracing.
|
|
27
|
-
"""
|
|
28
|
-
exporter_type_field: Field
|
|
29
|
-
exporter_extra_params: dict = {}
|
|
30
|
-
if pillar == "logging":
|
|
31
|
-
exporter_type_field = Field(
|
|
32
|
-
config=logging_exporter_enum,
|
|
33
|
-
is_required=False,
|
|
34
|
-
default_value=LoggingExporterEnum.ConsoleLogExporter.value,
|
|
35
|
-
)
|
|
36
|
-
elif pillar == "metrics":
|
|
37
|
-
exporter_type_field = Field(
|
|
38
|
-
config=metrics_exporter_enum,
|
|
39
|
-
is_required=False,
|
|
40
|
-
default_value=MetricsExporterEnum.ConsoleMetricExporter.value,
|
|
41
|
-
)
|
|
42
|
-
exporter_extra_params = {
|
|
43
|
-
"preferred_temporality": Field(
|
|
44
|
-
config=Map(str, aggregation_temporality_enum), is_required=False
|
|
45
|
-
),
|
|
46
|
-
"preferred_aggregation": Field(
|
|
47
|
-
config=Map(str, view_aggregation_enum), is_required=False
|
|
48
|
-
),
|
|
49
|
-
}
|
|
50
|
-
elif pillar == "tracing":
|
|
51
|
-
exporter_type_field = Field(
|
|
52
|
-
config=tracing_exporter_enum,
|
|
53
|
-
)
|
|
54
|
-
else:
|
|
55
|
-
raise ValueError(f"Invalid pillar: {pillar}")
|
|
56
|
-
|
|
57
|
-
return Shape(
|
|
58
|
-
description="Provide configuration for an OpenTelemetry exporter.",
|
|
59
|
-
fields={
|
|
60
|
-
"type": exporter_type_field,
|
|
61
|
-
"params": Permissive(
|
|
62
|
-
fields={
|
|
63
|
-
# These fields are common to most exporters. No defaults are provided, to allow either
|
|
64
|
-
# OpenTelemetry's default or environment variables to be used.
|
|
65
|
-
# Ref: https://opentelemetry-python.readthedocs.io/en/latest/sdk/environment_variables.html
|
|
66
|
-
"endpoint": Field(StringSource, is_required=False),
|
|
67
|
-
"compression": Field(config=compression_enum, is_required=False),
|
|
68
|
-
"headers": Field(
|
|
69
|
-
description="Custom headers to send", config=Permissive(), is_required=False
|
|
70
|
-
),
|
|
71
|
-
"certificate_file": Field(StringSource, is_required=False),
|
|
72
|
-
"client_key_file": Field(StringSource, is_required=False),
|
|
73
|
-
"client_certificate_file": Field(StringSource, is_required=False),
|
|
74
|
-
"insecure": Field(BoolSource, is_required=False),
|
|
75
|
-
"timeout": Field(IntSource, is_required=False),
|
|
76
|
-
# These fields are specific an exporter.
|
|
77
|
-
**exporter_extra_params,
|
|
78
|
-
}
|
|
79
|
-
),
|
|
80
|
-
},
|
|
81
|
-
)
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
from dagster import Enum, Field, IntSource, Shape
|
|
2
|
-
|
|
3
|
-
from dagster_cloud.opentelemetry.enum import LogRecordProcessorEnum
|
|
4
|
-
|
|
5
|
-
log_record_processor_enum = Enum.from_python_enum_direct_values(LogRecordProcessorEnum)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def log_record_processor_schema() -> Shape:
|
|
9
|
-
return Shape(
|
|
10
|
-
description="Provide configuration for the OpenTelemetry log record processor",
|
|
11
|
-
fields={
|
|
12
|
-
"type": Field(
|
|
13
|
-
config=log_record_processor_enum,
|
|
14
|
-
description="The type of log record processor to use.",
|
|
15
|
-
is_required=False,
|
|
16
|
-
),
|
|
17
|
-
"params": Shape(
|
|
18
|
-
description="The custom parameters for the OpenTelemetry log record processor.",
|
|
19
|
-
fields={
|
|
20
|
-
# Used by BatchLogRecordProcessor
|
|
21
|
-
"schedule_delay_millis": Field(
|
|
22
|
-
IntSource,
|
|
23
|
-
description="The delay between batches, in milliseconds.",
|
|
24
|
-
is_required=False,
|
|
25
|
-
),
|
|
26
|
-
"export_timeout_millis": Field(
|
|
27
|
-
IntSource,
|
|
28
|
-
description="The timeout for exporting, in milliseconds.",
|
|
29
|
-
is_required=False,
|
|
30
|
-
),
|
|
31
|
-
"max_export_batch_size": Field(
|
|
32
|
-
IntSource, description="The maximum batch size.", is_required=False
|
|
33
|
-
),
|
|
34
|
-
"max_queue_size": Field(
|
|
35
|
-
IntSource, description="The maximum queue size.", is_required=False
|
|
36
|
-
),
|
|
37
|
-
},
|
|
38
|
-
),
|
|
39
|
-
},
|
|
40
|
-
)
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
from dagster import Field, Shape
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def logging_handler_schema() -> Shape:
|
|
5
|
-
return Shape(
|
|
6
|
-
description="Provide configuration for the OpenTelemetry logging handler.",
|
|
7
|
-
fields={
|
|
8
|
-
"level": Field(
|
|
9
|
-
str,
|
|
10
|
-
description="The minimum logging level to capture.",
|
|
11
|
-
is_required=False,
|
|
12
|
-
),
|
|
13
|
-
},
|
|
14
|
-
)
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
from dagster import Enum, Field, IntSource, Permissive, Shape
|
|
2
|
-
|
|
3
|
-
from dagster_cloud.opentelemetry.enum import MetricsReaderEnum
|
|
4
|
-
|
|
5
|
-
metric_reader_enum = Enum.from_python_enum_direct_values(MetricsReaderEnum)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def metric_reader_config_schema() -> Field:
|
|
9
|
-
return Field(
|
|
10
|
-
config=Shape(
|
|
11
|
-
description="Provide configuration for an OpenTelemetry metric reader.",
|
|
12
|
-
fields={
|
|
13
|
-
"type": Field(
|
|
14
|
-
config=metric_reader_enum,
|
|
15
|
-
description="The type of reader to use to capture and export metrics.",
|
|
16
|
-
is_required=False,
|
|
17
|
-
),
|
|
18
|
-
"params": Field(
|
|
19
|
-
description="Provide custom parameters for the OpenTelemetry metric reader.",
|
|
20
|
-
is_required=False,
|
|
21
|
-
config=Permissive(
|
|
22
|
-
description="Provide configuration for the OpenTelemetry metric reader.",
|
|
23
|
-
fields={
|
|
24
|
-
"export_interval_millis": Field(
|
|
25
|
-
IntSource,
|
|
26
|
-
description="The interval in milliseconds at which to export metrics.",
|
|
27
|
-
is_required=False,
|
|
28
|
-
),
|
|
29
|
-
"export_timeout_millis": Field(
|
|
30
|
-
IntSource,
|
|
31
|
-
description="The timeout in milliseconds for exporting metrics.",
|
|
32
|
-
is_required=False,
|
|
33
|
-
),
|
|
34
|
-
},
|
|
35
|
-
),
|
|
36
|
-
),
|
|
37
|
-
},
|
|
38
|
-
)
|
|
39
|
-
)
|