dt-extensions-sdk 1.2.3__tar.gz → 1.2.5__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.
Files changed (83) hide show
  1. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/PKG-INFO +1 -1
  2. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/__about__.py +1 -1
  3. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/extension.py +1 -2
  4. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/snapshot.py +11 -11
  5. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/pyproject.toml +2 -2
  6. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/.github/workflows/gh-pages-docs.yml +0 -0
  7. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/.github/workflows/publish.yml +0 -0
  8. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/.gitignore +0 -0
  9. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/LICENSE.txt +0 -0
  10. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/README.md +0 -0
  11. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/dt-sdk-header.png +0 -0
  12. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/dt-sdk-logo.png +0 -0
  13. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/favicon.ico +0 -0
  14. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/img/migrate-01-new-extension.png +0 -0
  15. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/img/migrate-02-type.png +0 -0
  16. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/img/migrate-03-import.png +0 -0
  17. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/img/migrate-04-import-remote.png +0 -0
  18. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/img/migrate-05-activation.png +0 -0
  19. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/_static/img/migrate-06-activation-config.png +0 -0
  20. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/api/events/event_severity.rst +0 -0
  21. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/api/events/event_type.rst +0 -0
  22. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/api/events/index.rst +0 -0
  23. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/api/extension.rst +0 -0
  24. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/api/metrics/index.rst +0 -0
  25. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/api/metrics/metric.rst +0 -0
  26. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/api/metrics/metric_type.rst +0 -0
  27. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/assemble.rst +0 -0
  28. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/build.rst +0 -0
  29. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/create.rst +0 -0
  30. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/gencerts.rst +0 -0
  31. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/help.rst +0 -0
  32. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/run.rst +0 -0
  33. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/sign.rst +0 -0
  34. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/upload.rst +0 -0
  35. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/cli/wheel.rst +0 -0
  36. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/conf.py +0 -0
  37. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/guides/building.rst +0 -0
  38. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/guides/extension_structure.rst +0 -0
  39. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/guides/installation.rst +0 -0
  40. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/guides/migration.rst +0 -0
  41. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/index.rst +0 -0
  42. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/docs/requirements.txt +0 -0
  43. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/__init__.py +0 -0
  44. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/__init__.py +0 -0
  45. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/__init__.py +0 -0
  46. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/create.py +0 -0
  47. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/extension_template/.gitignore.template +0 -0
  48. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/extension_template/README.md.template +0 -0
  49. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/extension_template/activation.json.template +0 -0
  50. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/extension_template/extension/activationSchema.json.template +0 -0
  51. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/extension_template/extension/extension.yaml.template +0 -0
  52. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/extension_template/extension_name/__init__.py.template +0 -0
  53. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/extension_template/extension_name/__main__.py.template +0 -0
  54. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/create/extension_template/setup.py.template +0 -0
  55. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/main.py +0 -0
  56. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/cli/schema.py +0 -0
  57. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/__init__.py +0 -0
  58. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/activation.py +0 -0
  59. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/callback.py +0 -0
  60. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/communication.py +0 -0
  61. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/event.py +0 -0
  62. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/helper.py +0 -0
  63. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/metric.py +0 -0
  64. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/runtime.py +0 -0
  65. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/vendor/__init__.py +0 -0
  66. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/vendor/mureq/LICENSE +0 -0
  67. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/vendor/mureq/__init__.py +0 -0
  68. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/dynatrace_extension/sdk/vendor/mureq/mureq.py +0 -0
  69. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/__init__.py +0 -0
  70. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/cli/__init__.py +0 -0
  71. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/cli/test_dt_sdk.py +0 -0
  72. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/cli/test_templates.py +0 -0
  73. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/cli/test_types.py +0 -0
  74. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/data/snapshot.json +0 -0
  75. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/__init__.py +0 -0
  76. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/test_activation.py +0 -0
  77. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/test_callback.py +0 -0
  78. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/test_communication.py +0 -0
  79. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/test_extension.py +0 -0
  80. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/test_metric.py +0 -0
  81. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/test_runtime_properties.py +0 -0
  82. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/test_snapshot.py +0 -0
  83. {dt_extensions_sdk-1.2.3 → dt_extensions_sdk-1.2.5}/tests/sdk/test_status.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dt-extensions-sdk
3
- Version: 1.2.3
3
+ Version: 1.2.5
4
4
  Project-URL: Documentation, https://github.com/dynatrace-extensions/dt-extensions-python-sdk#readme
5
5
  Project-URL: Issues, https://github.com/dynatrace-extensions/dt-extensions-python-sdk/issues
6
6
  Project-URL: Source, https://github.com/dynatrace-extensions/dt-extensions-python-sdk
@@ -2,4 +2,4 @@
2
2
  #
3
3
  # SPDX-License-Identifier: MIT
4
4
 
5
- __version__ = "1.2.3"
5
+ __version__ = "1.2.5"
@@ -25,7 +25,7 @@ from .metric import Metric, MetricType, SfmMetric, SummaryStat
25
25
  from .runtime import RuntimeProperties
26
26
  from .snapshot import Snapshot
27
27
 
28
- HEARTBEAT_INTERVAL = timedelta(seconds=30)
28
+ HEARTBEAT_INTERVAL = timedelta(seconds=60)
29
29
  METRIC_SENDING_INTERVAL = timedelta(seconds=30)
30
30
  SFM_METRIC_SENDING_INTERVAL = timedelta(seconds=60)
31
31
  TIME_DIFF_INTERVAL = timedelta(seconds=60)
@@ -953,7 +953,6 @@ class Extension:
953
953
  return overall_status
954
954
 
955
955
  for callback in self._scheduled_callbacks:
956
- overall_status.timestamp = int(callback.get_adjusted_metric_timestamp().timestamp() * 1000)
957
956
  if callback.status.is_error():
958
957
  overall_status.status = callback.status.status
959
958
  messages.append(f"{callback}: {callback.status.message}")
@@ -17,8 +17,8 @@ class EntryProperties:
17
17
 
18
18
  @staticmethod
19
19
  def from_json(json_data: dict) -> EntryProperties:
20
- technologies = json_data.get("Technologies", "unknown-technologies").split(",")
21
- pg_technologies = json_data.get("pgTechnologies", "unknown-pg-technologies").split(",")
20
+ technologies = json_data.get("Technologies", "").split(",")
21
+ pg_technologies = json_data.get("pgTechnologies", "").split(",")
22
22
  return EntryProperties(technologies, pg_technologies)
23
23
 
24
24
 
@@ -47,15 +47,15 @@ class ProcessProperties:
47
47
 
48
48
  @staticmethod
49
49
  def from_json(json_data: dict) -> ProcessProperties:
50
- cmd_line = json_data.get("CmdLine", "unknown-cmd-line")
51
- exe_path = json_data.get("ExePath", "unknown-exe-path")
52
- parent_pid = int(json_data.get("ParentPid", "-1"))
53
- work_dir = json_data.get("WorkDir", "unknown-work-dir")
50
+ cmd_line = json_data.get("CmdLine")
51
+ exe_path = json_data.get("ExePath")
52
+ parent_pid = int(json_data.get("ParentPid", -1))
53
+ work_dir = json_data.get("WorkDir")
54
54
  listening_ports = [int(p) for p in json_data.get("ListeningPorts", "").split(" ") if p != ""]
55
55
  port_bindings = [PortBinding.from_string(p) for p in json_data.get("PortBindings", "").split(";") if p != ""]
56
- docker_mount = json_data.get("DockerMount", "unknown-docker-mount")
57
- docker_container_id = json_data.get("DockerContainerId", "unknown-docker-container-id")
58
- listening_internal_ports = json_data.get("ListeningInternalPorts", "unknown-listening-internal-ports")
56
+ docker_mount = json_data.get("DockerMount")
57
+ docker_container_id = json_data.get("DockerContainerId")
58
+ listening_internal_ports = json_data.get("ListeningInternalPorts")
59
59
  return ProcessProperties(
60
60
  cmd_line,
61
61
  exe_path,
@@ -145,11 +145,11 @@ class Snapshot:
145
145
  return Snapshot(host_id, entries)
146
146
 
147
147
  # Returns list of Process groups matching a technology. Use to simulate activation
148
- def get_process_groups_by_technology(self, technology: str) -> list[Process]:
148
+ def get_process_groups_by_technology(self, technology: str) -> list[Entry]:
149
149
  pgs = []
150
150
  for entry in self.entries:
151
151
  if technology in entry.properties.technologies:
152
- pgs.extend(entry.processes)
152
+ pgs.append(entry)
153
153
 
154
154
  return pgs
155
155
 
@@ -81,12 +81,12 @@ dependencies = [
81
81
  [tool.hatch.envs.lint.scripts]
82
82
  typing = "mypy --install-types --non-interactive {args:dynatrace_extension tests}"
83
83
  style = [
84
- "ruff {args:.}",
84
+ "ruff check {args:.}",
85
85
  "black --check --diff {args:.}",
86
86
  ]
87
87
  fmt = [
88
88
  "black {args:.}",
89
- "ruff --fix {args:.}",
89
+ "ruff check --fix {args:.}",
90
90
  "style",
91
91
  ]
92
92
  all = [