tasker-engine 1.0.0

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 (605) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +443 -0
  4. data/Rakefile +10 -0
  5. data/app/controllers/tasker/analytics_controller.rb +179 -0
  6. data/app/controllers/tasker/application_controller.rb +45 -0
  7. data/app/controllers/tasker/graphql_controller.rb +193 -0
  8. data/app/controllers/tasker/handlers_controller.rb +217 -0
  9. data/app/controllers/tasker/health_controller.rb +229 -0
  10. data/app/controllers/tasker/metrics_controller.rb +111 -0
  11. data/app/controllers/tasker/page_sort.rb +97 -0
  12. data/app/controllers/tasker/task_diagrams_controller.rb +30 -0
  13. data/app/controllers/tasker/tasks_controller.rb +123 -0
  14. data/app/controllers/tasker/workflow_steps_controller.rb +69 -0
  15. data/app/graphql/examples/all_tasks.graphql +22 -0
  16. data/app/graphql/examples/pending_tasks.graphql +23 -0
  17. data/app/graphql/tasker/graph_ql_types/annotation_type.rb +14 -0
  18. data/app/graphql/tasker/graph_ql_types/base_argument.rb +9 -0
  19. data/app/graphql/tasker/graph_ql_types/base_connection.rb +11 -0
  20. data/app/graphql/tasker/graph_ql_types/base_edge.rb +10 -0
  21. data/app/graphql/tasker/graph_ql_types/base_enum.rb +9 -0
  22. data/app/graphql/tasker/graph_ql_types/base_field.rb +10 -0
  23. data/app/graphql/tasker/graph_ql_types/base_input_object.rb +10 -0
  24. data/app/graphql/tasker/graph_ql_types/base_interface.rb +14 -0
  25. data/app/graphql/tasker/graph_ql_types/base_object.rb +10 -0
  26. data/app/graphql/tasker/graph_ql_types/base_scalar.rb +9 -0
  27. data/app/graphql/tasker/graph_ql_types/base_union.rb +11 -0
  28. data/app/graphql/tasker/graph_ql_types/dependent_system_object_map_type.rb +18 -0
  29. data/app/graphql/tasker/graph_ql_types/dependent_system_type.rb +13 -0
  30. data/app/graphql/tasker/graph_ql_types/mutation_type.rb +16 -0
  31. data/app/graphql/tasker/graph_ql_types/named_step_type.rb +16 -0
  32. data/app/graphql/tasker/graph_ql_types/named_task_type.rb +14 -0
  33. data/app/graphql/tasker/graph_ql_types/named_tasks_named_step_type.rb +19 -0
  34. data/app/graphql/tasker/graph_ql_types/node_type.rb +12 -0
  35. data/app/graphql/tasker/graph_ql_types/query_type.rb +20 -0
  36. data/app/graphql/tasker/graph_ql_types/task_annotation_type.rb +17 -0
  37. data/app/graphql/tasker/graph_ql_types/task_interface.rb +17 -0
  38. data/app/graphql/tasker/graph_ql_types/task_type.rb +26 -0
  39. data/app/graphql/tasker/graph_ql_types/workflow_step_type.rb +154 -0
  40. data/app/graphql/tasker/graph_ql_types.rb +42 -0
  41. data/app/graphql/tasker/mutations/base_mutation.rb +13 -0
  42. data/app/graphql/tasker/mutations/cancel_step.rb +29 -0
  43. data/app/graphql/tasker/mutations/cancel_task.rb +29 -0
  44. data/app/graphql/tasker/mutations/create_task.rb +52 -0
  45. data/app/graphql/tasker/mutations/update_step.rb +36 -0
  46. data/app/graphql/tasker/mutations/update_task.rb +41 -0
  47. data/app/graphql/tasker/queries/all_annotation_types.rb +17 -0
  48. data/app/graphql/tasker/queries/all_tasks.rb +23 -0
  49. data/app/graphql/tasker/queries/base_query.rb +9 -0
  50. data/app/graphql/tasker/queries/helpers.rb +16 -0
  51. data/app/graphql/tasker/queries/one_step.rb +24 -0
  52. data/app/graphql/tasker/queries/one_task.rb +18 -0
  53. data/app/graphql/tasker/queries/tasks_by_annotation.rb +31 -0
  54. data/app/graphql/tasker/queries/tasks_by_status.rb +30 -0
  55. data/app/graphql/tasker/tasker_rails_schema.rb +52 -0
  56. data/app/jobs/tasker/application_job.rb +8 -0
  57. data/app/jobs/tasker/metrics_export_job.rb +252 -0
  58. data/app/jobs/tasker/task_runner_job.rb +224 -0
  59. data/app/models/tasker/annotation_type.rb +26 -0
  60. data/app/models/tasker/application_record.rb +70 -0
  61. data/app/models/tasker/dependent_system.rb +26 -0
  62. data/app/models/tasker/dependent_system_object_map.rb +64 -0
  63. data/app/models/tasker/diagram/edge.rb +106 -0
  64. data/app/models/tasker/diagram/flowchart.rb +137 -0
  65. data/app/models/tasker/diagram/node.rb +99 -0
  66. data/app/models/tasker/named_step.rb +41 -0
  67. data/app/models/tasker/named_task.rb +121 -0
  68. data/app/models/tasker/named_tasks_named_step.rb +82 -0
  69. data/app/models/tasker/step_dag_relationship.rb +65 -0
  70. data/app/models/tasker/step_readiness_status.rb +59 -0
  71. data/app/models/tasker/task.rb +424 -0
  72. data/app/models/tasker/task_annotation.rb +36 -0
  73. data/app/models/tasker/task_diagram.rb +332 -0
  74. data/app/models/tasker/task_execution_context.rb +29 -0
  75. data/app/models/tasker/task_namespace.rb +41 -0
  76. data/app/models/tasker/task_transition.rb +235 -0
  77. data/app/models/tasker/workflow_step.rb +461 -0
  78. data/app/models/tasker/workflow_step_edge.rb +94 -0
  79. data/app/models/tasker/workflow_step_transition.rb +434 -0
  80. data/app/serializers/tasker/annotation_type_serializer.rb +8 -0
  81. data/app/serializers/tasker/handler_serializer.rb +109 -0
  82. data/app/serializers/tasker/task_annotation_serializer.rb +32 -0
  83. data/app/serializers/tasker/task_serializer.rb +168 -0
  84. data/app/serializers/tasker/workflow_step_serializer.rb +27 -0
  85. data/app/services/tasker/analytics_service.rb +409 -0
  86. data/app/views/tasker/task/_diagram.html.erb +32 -0
  87. data/config/initializers/dry_struct.rb +11 -0
  88. data/config/initializers/statesman.rb +6 -0
  89. data/config/initializers/tasker_orchestration.rb +17 -0
  90. data/config/initializers/time_formats.rb +4 -0
  91. data/config/routes.rb +34 -0
  92. data/config/tasker/subscriptions/example_integrations.yml +67 -0
  93. data/config/tasker/system_events.yml +305 -0
  94. data/db/functions/calculate_dependency_levels_v01.sql +45 -0
  95. data/db/functions/get_analytics_metrics_v01.sql +137 -0
  96. data/db/functions/get_slowest_steps_v01.sql +82 -0
  97. data/db/functions/get_slowest_tasks_v01.sql +96 -0
  98. data/db/functions/get_step_readiness_status_batch_v01.sql +140 -0
  99. data/db/functions/get_step_readiness_status_v01.sql +139 -0
  100. data/db/functions/get_system_health_counts_v01.sql +108 -0
  101. data/db/functions/get_task_execution_context_v01.sql +108 -0
  102. data/db/functions/get_task_execution_contexts_batch_v01.sql +104 -0
  103. data/db/init/schema.sql +2277 -0
  104. data/db/migrate/20250701165431_initial_tasker_schema.rb +116 -0
  105. data/db/views/tasker_step_dag_relationships_v01.sql +69 -0
  106. data/docs/APPLICATION_GENERATOR.md +384 -0
  107. data/docs/AUTH.md +1780 -0
  108. data/docs/CIRCUIT_BREAKER.md +224 -0
  109. data/docs/DEVELOPER_GUIDE.md +2665 -0
  110. data/docs/EVENT_SYSTEM.md +637 -0
  111. data/docs/EXECUTION_CONFIGURATION.md +341 -0
  112. data/docs/FLOW_CHART.md +149 -0
  113. data/docs/HEALTH.md +542 -0
  114. data/docs/METRICS.md +731 -0
  115. data/docs/OPTIMIZATION_PLAN.md +1479 -0
  116. data/docs/OVERVIEW.md +552 -0
  117. data/docs/QUICK_START.md +270 -0
  118. data/docs/REGISTRY_SYSTEMS.md +373 -0
  119. data/docs/REST_API.md +632 -0
  120. data/docs/ROADMAP.md +221 -0
  121. data/docs/SQL_FUNCTIONS.md +1408 -0
  122. data/docs/TASK_DIAGRAM.md +252 -0
  123. data/docs/TASK_EXECUTION_CONTROL_FLOW.md +237 -0
  124. data/docs/TELEMETRY.md +795 -0
  125. data/docs/TROUBLESHOOTING.md +756 -0
  126. data/docs/TaskHandlerGenerator.html +255 -0
  127. data/docs/Tasker/Analysis/RuntimeGraphAnalyzer.html +907 -0
  128. data/docs/Tasker/Analysis/TemplateGraphAnalyzer.html +1236 -0
  129. data/docs/Tasker/Analysis.html +117 -0
  130. data/docs/Tasker/AnalyticsController.html +450 -0
  131. data/docs/Tasker/AnalyticsService/BottleneckAnalytics.html +816 -0
  132. data/docs/Tasker/AnalyticsService/PerformanceAnalytics.html +586 -0
  133. data/docs/Tasker/AnalyticsService.html +2221 -0
  134. data/docs/Tasker/AnnotationType.html +137 -0
  135. data/docs/Tasker/AnnotationTypeSerializer.html +124 -0
  136. data/docs/Tasker/ApplicationController.html +147 -0
  137. data/docs/Tasker/ApplicationJob.html +128 -0
  138. data/docs/Tasker/ApplicationRecord.html +378 -0
  139. data/docs/Tasker/Authentication/AuthenticationError.html +124 -0
  140. data/docs/Tasker/Authentication/ConfigurationError.html +124 -0
  141. data/docs/Tasker/Authentication/Coordinator.html +242 -0
  142. data/docs/Tasker/Authentication/Interface.html +560 -0
  143. data/docs/Tasker/Authentication/InterfaceError.html +124 -0
  144. data/docs/Tasker/Authentication/NoneAuthenticator.html +338 -0
  145. data/docs/Tasker/Authentication.html +119 -0
  146. data/docs/Tasker/Authorization/AuthorizationError.html +139 -0
  147. data/docs/Tasker/Authorization/BaseCoordinator.html +927 -0
  148. data/docs/Tasker/Authorization/ConfigurationError.html +153 -0
  149. data/docs/Tasker/Authorization/ResourceConstants/ACTIONS.html +428 -0
  150. data/docs/Tasker/Authorization/ResourceConstants/RESOURCES.html +365 -0
  151. data/docs/Tasker/Authorization/ResourceConstants.html +146 -0
  152. data/docs/Tasker/Authorization/ResourceRegistry.html +882 -0
  153. data/docs/Tasker/Authorization/UnauthorizedError.html +153 -0
  154. data/docs/Tasker/Authorization.html +582 -0
  155. data/docs/Tasker/CacheCapabilities.html +167 -0
  156. data/docs/Tasker/CacheStrategy.html +1297 -0
  157. data/docs/Tasker/Concerns/Authenticatable.html +116 -0
  158. data/docs/Tasker/Concerns/Authorizable/AdminStatusChecker.html +256 -0
  159. data/docs/Tasker/Concerns/Authorizable.html +816 -0
  160. data/docs/Tasker/Concerns/ControllerAuthorizable.html +157 -0
  161. data/docs/Tasker/Concerns/EventPublisher.html +4023 -0
  162. data/docs/Tasker/Concerns/IdempotentStateTransitions.html +806 -0
  163. data/docs/Tasker/Concerns/LifecycleEventHelpers.html +129 -0
  164. data/docs/Tasker/Concerns/OrchestrationPublisher.html +129 -0
  165. data/docs/Tasker/Concerns/StateMachineBase/ClassMethods.html +1075 -0
  166. data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase/ClassMethods.html +191 -0
  167. data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase.html +126 -0
  168. data/docs/Tasker/Concerns/StateMachineBase.html +153 -0
  169. data/docs/Tasker/Concerns/StructuredLogging.html +1413 -0
  170. data/docs/Tasker/Concerns.html +117 -0
  171. data/docs/Tasker/Configuration/AuthConfiguration.html +1023 -0
  172. data/docs/Tasker/Configuration/ConfigurationProxy.html +581 -0
  173. data/docs/Tasker/Configuration/DatabaseConfiguration.html +475 -0
  174. data/docs/Tasker/Configuration/EngineConfiguration.html +1265 -0
  175. data/docs/Tasker/Configuration/HealthConfiguration.html +791 -0
  176. data/docs/Tasker/Configuration/TelemetryConfiguration.html +1308 -0
  177. data/docs/Tasker/Configuration/TelemetryConfigurationProxy.html +388 -0
  178. data/docs/Tasker/Configuration.html +1669 -0
  179. data/docs/Tasker/ConfigurationError.html +143 -0
  180. data/docs/Tasker/ConfiguredTask.html +514 -0
  181. data/docs/Tasker/Constants/EventDefinitions.html +590 -0
  182. data/docs/Tasker/Constants/LifecycleEvents.html +137 -0
  183. data/docs/Tasker/Constants/ObservabilityEvents/Step.html +152 -0
  184. data/docs/Tasker/Constants/ObservabilityEvents/Task.html +142 -0
  185. data/docs/Tasker/Constants/ObservabilityEvents.html +126 -0
  186. data/docs/Tasker/Constants/RegistryEvents.html +285 -0
  187. data/docs/Tasker/Constants/StepEvents.html +177 -0
  188. data/docs/Tasker/Constants/TaskEvents.html +167 -0
  189. data/docs/Tasker/Constants/TaskExecution/ExecutionStatus.html +207 -0
  190. data/docs/Tasker/Constants/TaskExecution/HealthStatus.html +191 -0
  191. data/docs/Tasker/Constants/TaskExecution/RecommendedAction.html +207 -0
  192. data/docs/Tasker/Constants/TaskExecution.html +126 -0
  193. data/docs/Tasker/Constants/TaskFinalization/ErrorMessages.html +132 -0
  194. data/docs/Tasker/Constants/TaskFinalization/PendingReasons.html +207 -0
  195. data/docs/Tasker/Constants/TaskFinalization/ReenqueueReasons.html +239 -0
  196. data/docs/Tasker/Constants/TaskFinalization.html +126 -0
  197. data/docs/Tasker/Constants/TaskStatuses.html +223 -0
  198. data/docs/Tasker/Constants/TestEvents.html +163 -0
  199. data/docs/Tasker/Constants/WorkflowEvents.html +222 -0
  200. data/docs/Tasker/Constants/WorkflowStepStatuses.html +223 -0
  201. data/docs/Tasker/Constants.html +561 -0
  202. data/docs/Tasker/DependentSystem.html +137 -0
  203. data/docs/Tasker/DependentSystemObjectMap.html +250 -0
  204. data/docs/Tasker/DetectorRegistry.html +598 -0
  205. data/docs/Tasker/Diagram/Edge.html +1191 -0
  206. data/docs/Tasker/Diagram/Flowchart.html +1539 -0
  207. data/docs/Tasker/Diagram/Node.html +1165 -0
  208. data/docs/Tasker/Diagram.html +117 -0
  209. data/docs/Tasker/Engine.html +215 -0
  210. data/docs/Tasker/Error.html +139 -0
  211. data/docs/Tasker/Events/Bus.html +1226 -0
  212. data/docs/Tasker/Events/Catalog/CatalogPrinter.html +258 -0
  213. data/docs/Tasker/Events/Catalog/CustomEventRegistrar.html +276 -0
  214. data/docs/Tasker/Events/Catalog/ExamplePayloadGenerator.html +294 -0
  215. data/docs/Tasker/Events/Catalog.html +1291 -0
  216. data/docs/Tasker/Events/CustomRegistry.html +943 -0
  217. data/docs/Tasker/Events/DefinitionLoader.html +575 -0
  218. data/docs/Tasker/Events/EventPayloadBuilder/ErrorInfoExtractor.html +286 -0
  219. data/docs/Tasker/Events/EventPayloadBuilder/StepPayloadBuilder.html +312 -0
  220. data/docs/Tasker/Events/EventPayloadBuilder.html +664 -0
  221. data/docs/Tasker/Events/Publisher.html +365 -0
  222. data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer/ErrorTypeClassifier.html +1128 -0
  223. data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer.html +270 -0
  224. data/docs/Tasker/Events/Subscribers/BaseSubscriber/MetricTagsExtractor.html +266 -0
  225. data/docs/Tasker/Events/Subscribers/BaseSubscriber.html +2556 -0
  226. data/docs/Tasker/Events/Subscribers/MetricsSubscriber.html +723 -0
  227. data/docs/Tasker/Events/Subscribers/TelemetrySubscriber.html +2251 -0
  228. data/docs/Tasker/Events/Subscribers.html +117 -0
  229. data/docs/Tasker/Events/SubscriptionLoader.html +493 -0
  230. data/docs/Tasker/Events.html +294 -0
  231. data/docs/Tasker/EventsGenerator.html +459 -0
  232. data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics/AnalyticsMetrics.html +135 -0
  233. data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics.html +412 -0
  234. data/docs/Tasker/Functions/FunctionBasedDependencyLevels.html +598 -0
  235. data/docs/Tasker/Functions/FunctionBasedSlowestSteps/SlowestStep.html +135 -0
  236. data/docs/Tasker/Functions/FunctionBasedSlowestSteps.html +453 -0
  237. data/docs/Tasker/Functions/FunctionBasedSlowestTasks/SlowestTask.html +135 -0
  238. data/docs/Tasker/Functions/FunctionBasedSlowestTasks.html +453 -0
  239. data/docs/Tasker/Functions/FunctionBasedStepReadinessStatus.html +1457 -0
  240. data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts/HealthMetrics.html +135 -0
  241. data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts.html +370 -0
  242. data/docs/Tasker/Functions/FunctionBasedTaskExecutionContext.html +1250 -0
  243. data/docs/Tasker/Functions/FunctionWrapper.html +479 -0
  244. data/docs/Tasker/Functions.html +117 -0
  245. data/docs/Tasker/Generators/AuthenticatorGenerator/UsageInstructionsFormatter.html +244 -0
  246. data/docs/Tasker/Generators/AuthenticatorGenerator.html +373 -0
  247. data/docs/Tasker/Generators/AuthorizationCoordinatorGenerator.html +430 -0
  248. data/docs/Tasker/Generators/SubscriberGenerator.html +377 -0
  249. data/docs/Tasker/Generators/TaskHandlerGenerator.html +263 -0
  250. data/docs/Tasker/Generators.html +117 -0
  251. data/docs/Tasker/GraphQLTypes/AnnotationType.html +132 -0
  252. data/docs/Tasker/GraphQLTypes/BaseArgument.html +124 -0
  253. data/docs/Tasker/GraphQLTypes/BaseConnection.html +124 -0
  254. data/docs/Tasker/GraphQLTypes/BaseEdge.html +130 -0
  255. data/docs/Tasker/GraphQLTypes/BaseEnum.html +124 -0
  256. data/docs/Tasker/GraphQLTypes/BaseField.html +124 -0
  257. data/docs/Tasker/GraphQLTypes/BaseInputObject.html +124 -0
  258. data/docs/Tasker/GraphQLTypes/BaseInterface.html +116 -0
  259. data/docs/Tasker/GraphQLTypes/BaseObject.html +128 -0
  260. data/docs/Tasker/GraphQLTypes/BaseScalar.html +124 -0
  261. data/docs/Tasker/GraphQLTypes/BaseUnion.html +124 -0
  262. data/docs/Tasker/GraphQLTypes/DependentSystemObjectMapType.html +132 -0
  263. data/docs/Tasker/GraphQLTypes/DependentSystemType.html +132 -0
  264. data/docs/Tasker/GraphQLTypes/MutationType.html +132 -0
  265. data/docs/Tasker/GraphQLTypes/NamedStepType.html +132 -0
  266. data/docs/Tasker/GraphQLTypes/NamedTaskType.html +132 -0
  267. data/docs/Tasker/GraphQLTypes/NamedTasksNamedStepType.html +132 -0
  268. data/docs/Tasker/GraphQLTypes/NodeType.html +118 -0
  269. data/docs/Tasker/GraphQLTypes/QueryType.html +139 -0
  270. data/docs/Tasker/GraphQLTypes/TaskAnnotationType.html +132 -0
  271. data/docs/Tasker/GraphQLTypes/TaskInterface.html +111 -0
  272. data/docs/Tasker/GraphQLTypes/TaskType.html +201 -0
  273. data/docs/Tasker/GraphQLTypes/WorkflowStepType.html +694 -0
  274. data/docs/Tasker/GraphQLTypes.html +130 -0
  275. data/docs/Tasker/GraphqlController.html +251 -0
  276. data/docs/Tasker/HandlerFactory.html +1518 -0
  277. data/docs/Tasker/HandlerSerializer.html +682 -0
  278. data/docs/Tasker/HandlersController.html +574 -0
  279. data/docs/Tasker/HashIdentityStrategy.html +278 -0
  280. data/docs/Tasker/Health/ReadinessChecker.html +712 -0
  281. data/docs/Tasker/Health/StatusChecker.html +653 -0
  282. data/docs/Tasker/Health.html +117 -0
  283. data/docs/Tasker/HealthController.html +523 -0
  284. data/docs/Tasker/IdentityStrategy.html +276 -0
  285. data/docs/Tasker/InvalidTaskHandlerConfig.html +135 -0
  286. data/docs/Tasker/LifecycleEvents/Events/Step.html +162 -0
  287. data/docs/Tasker/LifecycleEvents/Events/Task.html +162 -0
  288. data/docs/Tasker/LifecycleEvents/Events.html +204 -0
  289. data/docs/Tasker/LifecycleEvents/Publisher.html +132 -0
  290. data/docs/Tasker/LifecycleEvents.html +799 -0
  291. data/docs/Tasker/Logging/CorrelationIdGenerator.html +688 -0
  292. data/docs/Tasker/Logging.html +115 -0
  293. data/docs/Tasker/MetricsController.html +293 -0
  294. data/docs/Tasker/MetricsExportJob.html +414 -0
  295. data/docs/Tasker/Mutations/BaseMutation.html +128 -0
  296. data/docs/Tasker/Mutations/CancelStep.html +219 -0
  297. data/docs/Tasker/Mutations/CancelTask.html +221 -0
  298. data/docs/Tasker/Mutations/CreateTask.html +243 -0
  299. data/docs/Tasker/Mutations/UpdateStep.html +243 -0
  300. data/docs/Tasker/Mutations/UpdateTask.html +243 -0
  301. data/docs/Tasker/Mutations.html +117 -0
  302. data/docs/Tasker/NamedStep.html +216 -0
  303. data/docs/Tasker/NamedTask.html +910 -0
  304. data/docs/Tasker/NamedTasksNamedStep.html +435 -0
  305. data/docs/Tasker/Orchestration/BackoffCalculator.html +404 -0
  306. data/docs/Tasker/Orchestration/ConnectionBuilder/ConfigValidator.html +258 -0
  307. data/docs/Tasker/Orchestration/ConnectionBuilder.html +435 -0
  308. data/docs/Tasker/Orchestration/ConnectionPoolIntelligence.html +513 -0
  309. data/docs/Tasker/Orchestration/Coordinator.html +641 -0
  310. data/docs/Tasker/Orchestration/FutureStateAnalyzer.html +1045 -0
  311. data/docs/Tasker/Orchestration/Orchestrator.html +679 -0
  312. data/docs/Tasker/Orchestration/PluginIntegration.html +1127 -0
  313. data/docs/Tasker/Orchestration/ResponseProcessor.html +504 -0
  314. data/docs/Tasker/Orchestration/RetryHeaderParser.html +304 -0
  315. data/docs/Tasker/Orchestration/StepExecutor.html +995 -0
  316. data/docs/Tasker/Orchestration/StepSequenceFactory.html +644 -0
  317. data/docs/Tasker/Orchestration/TaskFinalizer/BlockageChecker.html +264 -0
  318. data/docs/Tasker/Orchestration/TaskFinalizer/ContextManager.html +254 -0
  319. data/docs/Tasker/Orchestration/TaskFinalizer/DelayCalculator.html +556 -0
  320. data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationDecisionMaker.html +348 -0
  321. data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationProcessor.html +286 -0
  322. data/docs/Tasker/Orchestration/TaskFinalizer/ReasonDeterminer.html +432 -0
  323. data/docs/Tasker/Orchestration/TaskFinalizer/ReenqueueManager.html +296 -0
  324. data/docs/Tasker/Orchestration/TaskFinalizer/UnclearStateHandler.html +314 -0
  325. data/docs/Tasker/Orchestration/TaskFinalizer.html +1212 -0
  326. data/docs/Tasker/Orchestration/TaskInitializer.html +766 -0
  327. data/docs/Tasker/Orchestration/TaskReenqueuer.html +506 -0
  328. data/docs/Tasker/Orchestration/ViableStepDiscovery.html +442 -0
  329. data/docs/Tasker/Orchestration/WorkflowCoordinator.html +510 -0
  330. data/docs/Tasker/Orchestration.html +130 -0
  331. data/docs/Tasker/PageSort/PageSortParamsBuilder.html +296 -0
  332. data/docs/Tasker/PageSort.html +247 -0
  333. data/docs/Tasker/PermanentError.html +518 -0
  334. data/docs/Tasker/ProceduralError.html +147 -0
  335. data/docs/Tasker/Queries/AllAnnotationTypes.html +217 -0
  336. data/docs/Tasker/Queries/AllTasks.html +221 -0
  337. data/docs/Tasker/Queries/BaseQuery.html +128 -0
  338. data/docs/Tasker/Queries/Helpers.html +187 -0
  339. data/docs/Tasker/Queries/OneStep.html +225 -0
  340. data/docs/Tasker/Queries/OneTask.html +217 -0
  341. data/docs/Tasker/Queries/TasksByAnnotation.html +231 -0
  342. data/docs/Tasker/Queries/TasksByStatus.html +233 -0
  343. data/docs/Tasker/Queries.html +119 -0
  344. data/docs/Tasker/Railtie.html +124 -0
  345. data/docs/Tasker/Registry/BaseRegistry.html +1690 -0
  346. data/docs/Tasker/Registry/EventPublisher.html +667 -0
  347. data/docs/Tasker/Registry/InterfaceValidator.html +569 -0
  348. data/docs/Tasker/Registry/RegistrationError.html +132 -0
  349. data/docs/Tasker/Registry/RegistryError.html +139 -0
  350. data/docs/Tasker/Registry/StatisticsCollector.html +841 -0
  351. data/docs/Tasker/Registry/SubscriberRegistry.html +1504 -0
  352. data/docs/Tasker/Registry/ValidationError.html +132 -0
  353. data/docs/Tasker/Registry.html +119 -0
  354. data/docs/Tasker/RetryableError.html +515 -0
  355. data/docs/Tasker/StateMachine/Compatibility.html +282 -0
  356. data/docs/Tasker/StateMachine/InvalidStateTransition.html +135 -0
  357. data/docs/Tasker/StateMachine/StepStateMachine/StandardizedPayloadBuilder.html +260 -0
  358. data/docs/Tasker/StateMachine/StepStateMachine.html +2215 -0
  359. data/docs/Tasker/StateMachine/TaskStateMachine.html +734 -0
  360. data/docs/Tasker/StateMachine.html +602 -0
  361. data/docs/Tasker/StepDagRelationship.html +657 -0
  362. data/docs/Tasker/StepHandler/Api/Config.html +1091 -0
  363. data/docs/Tasker/StepHandler/Api.html +884 -0
  364. data/docs/Tasker/StepHandler/AutomaticEventPublishing.html +321 -0
  365. data/docs/Tasker/StepHandler/Base.html +970 -0
  366. data/docs/Tasker/StepHandler.html +119 -0
  367. data/docs/Tasker/StepReadinessStatus.html +836 -0
  368. data/docs/Tasker/Task.html +2575 -0
  369. data/docs/Tasker/TaskAnnotation.html +137 -0
  370. data/docs/Tasker/TaskAnnotationSerializer.html +124 -0
  371. data/docs/Tasker/TaskBuilder/StepNameValidator.html +264 -0
  372. data/docs/Tasker/TaskBuilder/StepTemplateDefiner.html +264 -0
  373. data/docs/Tasker/TaskBuilder.html +764 -0
  374. data/docs/Tasker/TaskDiagram/StepToStepEdgeBuilder.html +260 -0
  375. data/docs/Tasker/TaskDiagram/TaskToRootStepEdgeBuilder.html +290 -0
  376. data/docs/Tasker/TaskDiagram.html +548 -0
  377. data/docs/Tasker/TaskDiagramsController.html +240 -0
  378. data/docs/Tasker/TaskExecutionContext.html +469 -0
  379. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/ClassBasedEventRegistrar.html +238 -0
  380. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/YamlEventRegistrar.html +254 -0
  381. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner.html +988 -0
  382. data/docs/Tasker/TaskHandler/ClassMethods.html +357 -0
  383. data/docs/Tasker/TaskHandler/InstanceMethods.html +1396 -0
  384. data/docs/Tasker/TaskHandler/StepGroup.html +1748 -0
  385. data/docs/Tasker/TaskHandler.html +271 -0
  386. data/docs/Tasker/TaskNamespace.html +312 -0
  387. data/docs/Tasker/TaskRunnerJob.html +406 -0
  388. data/docs/Tasker/TaskSerializer.html +474 -0
  389. data/docs/Tasker/TaskTransition.html +1517 -0
  390. data/docs/Tasker/TaskWorkflowSummary.html +988 -0
  391. data/docs/Tasker/TaskerRailsSchema/InvalidObjectTypeError.html +132 -0
  392. data/docs/Tasker/TaskerRailsSchema/TypeResolutionError.html +139 -0
  393. data/docs/Tasker/TaskerRailsSchema/UnknownInterfaceError.html +132 -0
  394. data/docs/Tasker/TaskerRailsSchema.html +384 -0
  395. data/docs/Tasker/TasksController.html +595 -0
  396. data/docs/Tasker/Telemetry/EventMapping.html +1307 -0
  397. data/docs/Tasker/Telemetry/EventRouter.html +2178 -0
  398. data/docs/Tasker/Telemetry/Events/ExportEvents.html +246 -0
  399. data/docs/Tasker/Telemetry/Events.html +115 -0
  400. data/docs/Tasker/Telemetry/ExportCoordinator/DistributedLockTimeoutError.html +135 -0
  401. data/docs/Tasker/Telemetry/ExportCoordinator.html +2137 -0
  402. data/docs/Tasker/Telemetry/IntelligentCacheManager.html +1083 -0
  403. data/docs/Tasker/Telemetry/LogBackend.html +1088 -0
  404. data/docs/Tasker/Telemetry/MetricTypes/Counter.html +1054 -0
  405. data/docs/Tasker/Telemetry/MetricTypes/Gauge.html +1270 -0
  406. data/docs/Tasker/Telemetry/MetricTypes/Histogram.html +1492 -0
  407. data/docs/Tasker/Telemetry/MetricTypes.html +153 -0
  408. data/docs/Tasker/Telemetry/MetricsBackend.html +2510 -0
  409. data/docs/Tasker/Telemetry/MetricsExportService.html +578 -0
  410. data/docs/Tasker/Telemetry/PluginRegistry.html +1774 -0
  411. data/docs/Tasker/Telemetry/Plugins/BaseExporter.html +1835 -0
  412. data/docs/Tasker/Telemetry/Plugins/CsvExporter.html +768 -0
  413. data/docs/Tasker/Telemetry/Plugins/JsonExporter.html +747 -0
  414. data/docs/Tasker/Telemetry/Plugins.html +117 -0
  415. data/docs/Tasker/Telemetry/PrometheusExporter.html +481 -0
  416. data/docs/Tasker/Telemetry/TraceBackend.html +891 -0
  417. data/docs/Tasker/Telemetry.html +130 -0
  418. data/docs/Tasker/Types/AuthConfig.html +886 -0
  419. data/docs/Tasker/Types/BackoffConfig.html +1063 -0
  420. data/docs/Tasker/Types/BaseConfig.html +227 -0
  421. data/docs/Tasker/Types/CacheConfig.html +1731 -0
  422. data/docs/Tasker/Types/DatabaseConfig.html +388 -0
  423. data/docs/Tasker/Types/DependencyGraph.html +526 -0
  424. data/docs/Tasker/Types/DependencyGraphConfig.html +753 -0
  425. data/docs/Tasker/Types/EngineConfig.html +1181 -0
  426. data/docs/Tasker/Types/ExecutionConfig.html +1963 -0
  427. data/docs/Tasker/Types/GraphEdge.html +517 -0
  428. data/docs/Tasker/Types/GraphMetadata.html +781 -0
  429. data/docs/Tasker/Types/GraphNode.html +694 -0
  430. data/docs/Tasker/Types/HealthConfig.html +784 -0
  431. data/docs/Tasker/Types/StepSequence.html +353 -0
  432. data/docs/Tasker/Types/StepTemplate.html +1193 -0
  433. data/docs/Tasker/Types/TaskRequest.html +1179 -0
  434. data/docs/Tasker/Types/TelemetryConfig.html +2746 -0
  435. data/docs/Tasker/Types.html +154 -0
  436. data/docs/Tasker/WorkflowStep/StepFinder.html +282 -0
  437. data/docs/Tasker/WorkflowStep.html +2724 -0
  438. data/docs/Tasker/WorkflowStepEdge.html +304 -0
  439. data/docs/Tasker/WorkflowStepSerializer.html +305 -0
  440. data/docs/Tasker/WorkflowStepTransition/TransitionDescriptionFormatter.html +282 -0
  441. data/docs/Tasker/WorkflowStepTransition.html +2201 -0
  442. data/docs/Tasker/WorkflowStepsController.html +462 -0
  443. data/docs/Tasker.html +452 -0
  444. data/docs/VISION.md +584 -0
  445. data/docs/WHY.md +21 -0
  446. data/docs/_index.html +2375 -0
  447. data/docs/class_list.html +54 -0
  448. data/docs/css/common.css +1 -0
  449. data/docs/css/full_list.css +58 -0
  450. data/docs/css/style.css +503 -0
  451. data/docs/events/migration_plan_outcomes.md +80 -0
  452. data/docs/file.README.html +541 -0
  453. data/docs/file_list.html +59 -0
  454. data/docs/frames.html +22 -0
  455. data/docs/index.html +541 -0
  456. data/docs/js/app.js +344 -0
  457. data/docs/js/full_list.js +242 -0
  458. data/docs/js/jquery.js +4 -0
  459. data/docs/method_list.html +9182 -0
  460. data/docs/top-level-namespace.html +110 -0
  461. data/lib/generators/tasker/authenticator_generator.rb +301 -0
  462. data/lib/generators/tasker/authorization_coordinator_generator.rb +139 -0
  463. data/lib/generators/tasker/events_generator.rb +91 -0
  464. data/lib/generators/tasker/subscriber_generator.rb +107 -0
  465. data/lib/generators/tasker/task_handler_generator.rb +138 -0
  466. data/lib/generators/tasker/templates/api_token_authenticator.rb.erb +113 -0
  467. data/lib/generators/tasker/templates/api_token_authenticator_spec.rb.erb +144 -0
  468. data/lib/generators/tasker/templates/authorization_coordinator.rb.erb +95 -0
  469. data/lib/generators/tasker/templates/authorization_coordinator_spec.rb.erb +142 -0
  470. data/lib/generators/tasker/templates/custom_authenticator.rb.erb +108 -0
  471. data/lib/generators/tasker/templates/custom_authenticator_spec.rb.erb +162 -0
  472. data/lib/generators/tasker/templates/custom_events.yml.erb +62 -0
  473. data/lib/generators/tasker/templates/custom_subscriber.rb.erb +72 -0
  474. data/lib/generators/tasker/templates/devise_authenticator.rb.erb +101 -0
  475. data/lib/generators/tasker/templates/devise_authenticator_spec.rb.erb +126 -0
  476. data/lib/generators/tasker/templates/initialize.rb.erb +202 -0
  477. data/lib/generators/tasker/templates/jwt_authenticator.rb.erb +144 -0
  478. data/lib/generators/tasker/templates/jwt_authenticator_spec.rb.erb +298 -0
  479. data/lib/generators/tasker/templates/metrics_subscriber.rb.erb +258 -0
  480. data/lib/generators/tasker/templates/metrics_subscriber_spec.rb.erb +308 -0
  481. data/lib/generators/tasker/templates/omniauth_authenticator.rb.erb +135 -0
  482. data/lib/generators/tasker/templates/omniauth_authenticator_spec.rb.erb +196 -0
  483. data/lib/generators/tasker/templates/opentelemetry_initializer.rb +52 -0
  484. data/lib/generators/tasker/templates/subscriber.rb.erb +64 -0
  485. data/lib/generators/tasker/templates/subscriber_spec.rb.erb +80 -0
  486. data/lib/generators/tasker/templates/task_config.yaml.erb +117 -0
  487. data/lib/generators/tasker/templates/task_handler.rb.erb +59 -0
  488. data/lib/generators/tasker/templates/task_handler_spec.rb.erb +159 -0
  489. data/lib/tasker/analysis/runtime_graph_analyzer.rb +1168 -0
  490. data/lib/tasker/analysis/template_graph_analyzer.rb +328 -0
  491. data/lib/tasker/authentication/coordinator.rb +78 -0
  492. data/lib/tasker/authentication/errors.rb +9 -0
  493. data/lib/tasker/authentication/interface.rb +36 -0
  494. data/lib/tasker/authentication/none_authenticator.rb +26 -0
  495. data/lib/tasker/authorization/base_coordinator.rb +112 -0
  496. data/lib/tasker/authorization/errors.rb +26 -0
  497. data/lib/tasker/authorization/resource_constants.rb +74 -0
  498. data/lib/tasker/authorization/resource_registry.rb +143 -0
  499. data/lib/tasker/authorization.rb +75 -0
  500. data/lib/tasker/cache_capabilities.rb +131 -0
  501. data/lib/tasker/cache_strategy.rb +469 -0
  502. data/lib/tasker/concerns/authenticatable.rb +41 -0
  503. data/lib/tasker/concerns/authorizable.rb +204 -0
  504. data/lib/tasker/concerns/controller_authorizable.rb +124 -0
  505. data/lib/tasker/concerns/event_publisher.rb +716 -0
  506. data/lib/tasker/concerns/idempotent_state_transitions.rb +128 -0
  507. data/lib/tasker/concerns/state_machine_base.rb +218 -0
  508. data/lib/tasker/concerns/structured_logging.rb +387 -0
  509. data/lib/tasker/configuration.rb +325 -0
  510. data/lib/tasker/constants/event_definitions.rb +147 -0
  511. data/lib/tasker/constants/registry_events.rb +54 -0
  512. data/lib/tasker/constants.rb +417 -0
  513. data/lib/tasker/engine.rb +90 -0
  514. data/lib/tasker/errors.rb +90 -0
  515. data/lib/tasker/events/catalog.rb +432 -0
  516. data/lib/tasker/events/custom_registry.rb +175 -0
  517. data/lib/tasker/events/definition_loader.rb +199 -0
  518. data/lib/tasker/events/event_payload_builder.rb +461 -0
  519. data/lib/tasker/events/publisher.rb +149 -0
  520. data/lib/tasker/events/subscribers/base_subscriber.rb +601 -0
  521. data/lib/tasker/events/subscribers/metrics_subscriber.rb +120 -0
  522. data/lib/tasker/events/subscribers/telemetry_subscriber.rb +462 -0
  523. data/lib/tasker/events/subscription_loader.rb +161 -0
  524. data/lib/tasker/events.rb +37 -0
  525. data/lib/tasker/functions/function_based_analytics_metrics.rb +103 -0
  526. data/lib/tasker/functions/function_based_dependency_levels.rb +54 -0
  527. data/lib/tasker/functions/function_based_slowest_steps.rb +84 -0
  528. data/lib/tasker/functions/function_based_slowest_tasks.rb +84 -0
  529. data/lib/tasker/functions/function_based_step_readiness_status.rb +183 -0
  530. data/lib/tasker/functions/function_based_system_health_counts.rb +94 -0
  531. data/lib/tasker/functions/function_based_task_execution_context.rb +148 -0
  532. data/lib/tasker/functions/function_wrapper.rb +42 -0
  533. data/lib/tasker/functions.rb +12 -0
  534. data/lib/tasker/handler_factory.rb +322 -0
  535. data/lib/tasker/health/readiness_checker.rb +186 -0
  536. data/lib/tasker/health/status_checker.rb +203 -0
  537. data/lib/tasker/identity_strategy.rb +38 -0
  538. data/lib/tasker/logging/correlation_id_generator.rb +120 -0
  539. data/lib/tasker/orchestration/backoff_calculator.rb +184 -0
  540. data/lib/tasker/orchestration/connection_builder.rb +122 -0
  541. data/lib/tasker/orchestration/connection_pool_intelligence.rb +177 -0
  542. data/lib/tasker/orchestration/coordinator.rb +119 -0
  543. data/lib/tasker/orchestration/future_state_analyzer.rb +137 -0
  544. data/lib/tasker/orchestration/plugin_integration.rb +124 -0
  545. data/lib/tasker/orchestration/response_processor.rb +168 -0
  546. data/lib/tasker/orchestration/retry_header_parser.rb +78 -0
  547. data/lib/tasker/orchestration/step_executor.rb +941 -0
  548. data/lib/tasker/orchestration/step_sequence_factory.rb +67 -0
  549. data/lib/tasker/orchestration/task_finalizer.rb +564 -0
  550. data/lib/tasker/orchestration/task_initializer.rb +140 -0
  551. data/lib/tasker/orchestration/task_reenqueuer.rb +71 -0
  552. data/lib/tasker/orchestration/viable_step_discovery.rb +65 -0
  553. data/lib/tasker/orchestration/workflow_coordinator.rb +294 -0
  554. data/lib/tasker/orchestration.rb +45 -0
  555. data/lib/tasker/railtie.rb +9 -0
  556. data/lib/tasker/registry/base_registry.rb +177 -0
  557. data/lib/tasker/registry/event_publisher.rb +91 -0
  558. data/lib/tasker/registry/interface_validator.rb +140 -0
  559. data/lib/tasker/registry/statistics_collector.rb +381 -0
  560. data/lib/tasker/registry/subscriber_registry.rb +285 -0
  561. data/lib/tasker/registry.rb +22 -0
  562. data/lib/tasker/state_machine/step_state_machine.rb +508 -0
  563. data/lib/tasker/state_machine/task_state_machine.rb +192 -0
  564. data/lib/tasker/state_machine.rb +83 -0
  565. data/lib/tasker/step_handler/api.rb +410 -0
  566. data/lib/tasker/step_handler/base.rb +206 -0
  567. data/lib/tasker/task_builder.rb +432 -0
  568. data/lib/tasker/task_handler/class_methods.rb +324 -0
  569. data/lib/tasker/task_handler/instance_methods.rb +293 -0
  570. data/lib/tasker/task_handler/step_group.rb +182 -0
  571. data/lib/tasker/task_handler.rb +43 -0
  572. data/lib/tasker/telemetry/event_mapping.rb +126 -0
  573. data/lib/tasker/telemetry/event_router.rb +318 -0
  574. data/lib/tasker/telemetry/events/export_events.rb +38 -0
  575. data/lib/tasker/telemetry/export_coordinator.rb +497 -0
  576. data/lib/tasker/telemetry/intelligent_cache_manager.rb +508 -0
  577. data/lib/tasker/telemetry/log_backend.rb +224 -0
  578. data/lib/tasker/telemetry/metric_types.rb +368 -0
  579. data/lib/tasker/telemetry/metrics_backend.rb +1227 -0
  580. data/lib/tasker/telemetry/metrics_export_service.rb +392 -0
  581. data/lib/tasker/telemetry/plugin_registry.rb +333 -0
  582. data/lib/tasker/telemetry/plugins/base_exporter.rb +246 -0
  583. data/lib/tasker/telemetry/plugins/csv_exporter.rb +198 -0
  584. data/lib/tasker/telemetry/plugins/json_exporter.rb +141 -0
  585. data/lib/tasker/telemetry/prometheus_exporter.rb +249 -0
  586. data/lib/tasker/telemetry/trace_backend.rb +186 -0
  587. data/lib/tasker/telemetry.rb +59 -0
  588. data/lib/tasker/types/auth_config.rb +81 -0
  589. data/lib/tasker/types/backoff_config.rb +142 -0
  590. data/lib/tasker/types/cache_config.rb +257 -0
  591. data/lib/tasker/types/database_config.rb +39 -0
  592. data/lib/tasker/types/dependency_graph.rb +225 -0
  593. data/lib/tasker/types/dependency_graph_config.rb +149 -0
  594. data/lib/tasker/types/engine_config.rb +131 -0
  595. data/lib/tasker/types/execution_config.rb +289 -0
  596. data/lib/tasker/types/health_config.rb +84 -0
  597. data/lib/tasker/types/step_sequence.rb +24 -0
  598. data/lib/tasker/types/step_template.rb +63 -0
  599. data/lib/tasker/types/task_request.rb +60 -0
  600. data/lib/tasker/types/telemetry_config.rb +273 -0
  601. data/lib/tasker/types.rb +64 -0
  602. data/lib/tasker/version.rb +7 -0
  603. data/lib/tasker.rb +82 -0
  604. data/lib/tasks/tasker_tasks.rake +302 -0
  605. metadata +958 -0
@@ -0,0 +1,2746 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Tasker::Types::TelemetryConfig
8
+
9
+ &mdash; Documentation by YARD 0.9.37
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Tasker::Types::TelemetryConfig";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (T)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../Tasker.html" title="Tasker (module)">Tasker</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span>
41
+ &raquo;
42
+ <span class="title">TelemetryConfig</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Tasker::Types::TelemetryConfig
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName"><span class='object_link'><a href="BaseConfig.html" title="Tasker::Types::BaseConfig (class)">BaseConfig</a></span></span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Dry::Struct</li>
78
+
79
+ <li class="next"><span class='object_link'><a href="BaseConfig.html" title="Tasker::Types::BaseConfig (class)">BaseConfig</a></span></li>
80
+
81
+ <li class="next">Tasker::Types::TelemetryConfig</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+ </dl>
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ <dl>
100
+ <dt>Defined in:</dt>
101
+ <dd>lib/tasker/types/telemetry_config.rb</dd>
102
+ </dl>
103
+
104
+ </div>
105
+
106
+ <h2>Overview</h2><div class="docstring">
107
+ <div class="discussion">
108
+
109
+ <p>Configuration type for telemetry and observability settings</p>
110
+
111
+ <p>This configuration handles telemetry, logging, and observability settings for Tasker. It provides the same functionality as the original TelemetryConfiguration but with dry-struct type safety and immutability.</p>
112
+
113
+
114
+ </div>
115
+ </div>
116
+ <div class="tags">
117
+
118
+ <div class="examples">
119
+ <h4 class="tag_title">Examples:</h4>
120
+
121
+
122
+ <h5 class="example_title"><div class='inline'>
123
+ <p>Basic usage</p>
124
+ </div></h5>
125
+
126
+ <pre class="example code"><code><span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='const'>TelemetryConfig</span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span>
127
+ <span class='label'>enabled:</span> <span class='kw'>false</span><span class='comma'>,</span>
128
+ <span class='label'>service_name:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>my-service</span><span class='tstring_end'>&#39;</span></span>
129
+ <span class='rparen'>)</span></code></pre>
130
+
131
+
132
+ <h5 class="example_title"><div class='inline'>
133
+ <p>Full configuration</p>
134
+ </div></h5>
135
+
136
+ <pre class="example code"><code><span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='const'>TelemetryConfig</span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span>
137
+ <span class='label'>enabled:</span> <span class='kw'>true</span><span class='comma'>,</span>
138
+ <span class='label'>service_name:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>my-tasker-app</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
139
+ <span class='label'>service_version:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>2.0.0</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
140
+ <span class='label'>filter_parameters:</span> <span class='lbracket'>[</span><span class='symbol'>:password</span><span class='comma'>,</span> <span class='symbol'>:secret</span><span class='rbracket'>]</span><span class='comma'>,</span>
141
+ <span class='label'>filter_mask:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>[REDACTED]</span><span class='tstring_end'>&#39;</span></span>
142
+ <span class='rparen'>)</span></code></pre>
143
+
144
+ </div>
145
+
146
+
147
+ </div>
148
+
149
+
150
+
151
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
152
+ <ul class="summary">
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#config-instance_method" title="#config (instance method)">#<strong>config</strong> &#x21d2; Hash </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+ <span class="note title readonly">readonly</span>
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+ <span class="summary_desc"><div class='inline'>
177
+ <p>Advanced configuration options.</p>
178
+ </div></span>
179
+
180
+ </li>
181
+
182
+
183
+ <li class="public ">
184
+ <span class="summary_signature">
185
+
186
+ <a href="#correlation_id_header-instance_method" title="#correlation_id_header (instance method)">#<strong>correlation_id_header</strong> &#x21d2; String </a>
187
+
188
+
189
+
190
+ </span>
191
+
192
+
193
+
194
+
195
+ <span class="note title readonly">readonly</span>
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+ <span class="summary_desc"><div class='inline'>
206
+ <p>Header name for correlation ID.</p>
207
+ </div></span>
208
+
209
+ </li>
210
+
211
+
212
+ <li class="public ">
213
+ <span class="summary_signature">
214
+
215
+ <a href="#enabled-instance_method" title="#enabled (instance method)">#<strong>enabled</strong> &#x21d2; Boolean </a>
216
+
217
+
218
+
219
+ </span>
220
+
221
+
222
+
223
+
224
+ <span class="note title readonly">readonly</span>
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+ <span class="summary_desc"><div class='inline'>
235
+ <p>Whether telemetry is enabled.</p>
236
+ </div></span>
237
+
238
+ </li>
239
+
240
+
241
+ <li class="public ">
242
+ <span class="summary_signature">
243
+
244
+ <a href="#event_sampling_rate-instance_method" title="#event_sampling_rate (instance method)">#<strong>event_sampling_rate</strong> &#x21d2; Float </a>
245
+
246
+
247
+
248
+ </span>
249
+
250
+
251
+
252
+
253
+ <span class="note title readonly">readonly</span>
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+ <span class="summary_desc"><div class='inline'>
264
+ <p>Sampling rate for events.</p>
265
+ </div></span>
266
+
267
+ </li>
268
+
269
+
270
+ <li class="public ">
271
+ <span class="summary_signature">
272
+
273
+ <a href="#filter_mask-instance_method" title="#filter_mask (instance method)">#<strong>filter_mask</strong> &#x21d2; String </a>
274
+
275
+
276
+
277
+ </span>
278
+
279
+
280
+
281
+
282
+ <span class="note title readonly">readonly</span>
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+ <span class="summary_desc"><div class='inline'>
293
+ <p>Filter mask string.</p>
294
+ </div></span>
295
+
296
+ </li>
297
+
298
+
299
+ <li class="public ">
300
+ <span class="summary_signature">
301
+
302
+ <a href="#filter_parameters-instance_method" title="#filter_parameters (instance method)">#<strong>filter_parameters</strong> &#x21d2; Array&lt;Symbol, String, Regexp&gt; </a>
303
+
304
+
305
+
306
+ </span>
307
+
308
+
309
+
310
+
311
+ <span class="note title readonly">readonly</span>
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+ <span class="summary_desc"><div class='inline'>
322
+ <p>Parameters to filter.</p>
323
+ </div></span>
324
+
325
+ </li>
326
+
327
+
328
+ <li class="public ">
329
+ <span class="summary_signature">
330
+
331
+ <a href="#filtered_events-instance_method" title="#filtered_events (instance method)">#<strong>filtered_events</strong> &#x21d2; Array&lt;String&gt; </a>
332
+
333
+
334
+
335
+ </span>
336
+
337
+
338
+
339
+
340
+ <span class="note title readonly">readonly</span>
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+ <span class="summary_desc"><div class='inline'>
351
+ <p>List of event names to skip.</p>
352
+ </div></span>
353
+
354
+ </li>
355
+
356
+
357
+ <li class="public ">
358
+ <span class="summary_signature">
359
+
360
+ <a href="#log_format-instance_method" title="#log_format (instance method)">#<strong>log_format</strong> &#x21d2; String </a>
361
+
362
+
363
+
364
+ </span>
365
+
366
+
367
+
368
+
369
+ <span class="note title readonly">readonly</span>
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+ <span class="summary_desc"><div class='inline'>
380
+ <p>Log format (json, pretty_json, logfmt).</p>
381
+ </div></span>
382
+
383
+ </li>
384
+
385
+
386
+ <li class="public ">
387
+ <span class="summary_signature">
388
+
389
+ <a href="#log_level-instance_method" title="#log_level (instance method)">#<strong>log_level</strong> &#x21d2; String </a>
390
+
391
+
392
+
393
+ </span>
394
+
395
+
396
+
397
+
398
+ <span class="note title readonly">readonly</span>
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+ <span class="summary_desc"><div class='inline'>
409
+ <p>Log level (debug, info, warn, error, fatal).</p>
410
+ </div></span>
411
+
412
+ </li>
413
+
414
+
415
+ <li class="public ">
416
+ <span class="summary_signature">
417
+
418
+ <a href="#max_stored_samples-instance_method" title="#max_stored_samples (instance method)">#<strong>max_stored_samples</strong> &#x21d2; Integer </a>
419
+
420
+
421
+
422
+ </span>
423
+
424
+
425
+
426
+
427
+ <span class="note title readonly">readonly</span>
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+ <span class="summary_desc"><div class='inline'>
438
+ <p>Maximum stored samples.</p>
439
+ </div></span>
440
+
441
+ </li>
442
+
443
+
444
+ <li class="public ">
445
+ <span class="summary_signature">
446
+
447
+ <a href="#memory_threshold_mb-instance_method" title="#memory_threshold_mb (instance method)">#<strong>memory_threshold_mb</strong> &#x21d2; Integer </a>
448
+
449
+
450
+
451
+ </span>
452
+
453
+
454
+
455
+
456
+ <span class="note title readonly">readonly</span>
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+ <span class="summary_desc"><div class='inline'>
467
+ <p>Memory threshold in megabytes.</p>
468
+ </div></span>
469
+
470
+ </li>
471
+
472
+
473
+ <li class="public ">
474
+ <span class="summary_signature">
475
+
476
+ <a href="#metrics_auth_required-instance_method" title="#metrics_auth_required (instance method)">#<strong>metrics_auth_required</strong> &#x21d2; Boolean </a>
477
+
478
+
479
+
480
+ </span>
481
+
482
+
483
+
484
+
485
+ <span class="note title readonly">readonly</span>
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+ <span class="summary_desc"><div class='inline'>
496
+ <p>Whether metrics endpoint requires auth.</p>
497
+ </div></span>
498
+
499
+ </li>
500
+
501
+
502
+ <li class="public ">
503
+ <span class="summary_signature">
504
+
505
+ <a href="#metrics_enabled-instance_method" title="#metrics_enabled (instance method)">#<strong>metrics_enabled</strong> &#x21d2; Boolean </a>
506
+
507
+
508
+
509
+ </span>
510
+
511
+
512
+
513
+
514
+ <span class="note title readonly">readonly</span>
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+ <span class="summary_desc"><div class='inline'>
525
+ <p>Whether metrics collection is enabled.</p>
526
+ </div></span>
527
+
528
+ </li>
529
+
530
+
531
+ <li class="public ">
532
+ <span class="summary_signature">
533
+
534
+ <a href="#metrics_endpoint-instance_method" title="#metrics_endpoint (instance method)">#<strong>metrics_endpoint</strong> &#x21d2; String </a>
535
+
536
+
537
+
538
+ </span>
539
+
540
+
541
+
542
+
543
+ <span class="note title readonly">readonly</span>
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+ <span class="summary_desc"><div class='inline'>
554
+ <p>Path for metrics endpoint.</p>
555
+ </div></span>
556
+
557
+ </li>
558
+
559
+
560
+ <li class="public ">
561
+ <span class="summary_signature">
562
+
563
+ <a href="#metrics_format-instance_method" title="#metrics_format (instance method)">#<strong>metrics_format</strong> &#x21d2; String </a>
564
+
565
+
566
+
567
+ </span>
568
+
569
+
570
+
571
+
572
+ <span class="note title readonly">readonly</span>
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+ <span class="summary_desc"><div class='inline'>
583
+ <p>Metrics format (prometheus, json).</p>
584
+ </div></span>
585
+
586
+ </li>
587
+
588
+
589
+ <li class="public ">
590
+ <span class="summary_signature">
591
+
592
+ <a href="#metrics_retention_hours-instance_method" title="#metrics_retention_hours (instance method)">#<strong>metrics_retention_hours</strong> &#x21d2; Integer </a>
593
+
594
+
595
+
596
+ </span>
597
+
598
+
599
+
600
+
601
+ <span class="note title readonly">readonly</span>
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+ <span class="summary_desc"><div class='inline'>
612
+ <p>Retention period in hours.</p>
613
+ </div></span>
614
+
615
+ </li>
616
+
617
+
618
+ <li class="public ">
619
+ <span class="summary_signature">
620
+
621
+ <a href="#performance_monitoring_enabled-instance_method" title="#performance_monitoring_enabled (instance method)">#<strong>performance_monitoring_enabled</strong> &#x21d2; Boolean </a>
622
+
623
+
624
+
625
+ </span>
626
+
627
+
628
+
629
+
630
+ <span class="note title readonly">readonly</span>
631
+
632
+
633
+
634
+
635
+
636
+
637
+
638
+
639
+
640
+ <span class="summary_desc"><div class='inline'>
641
+ <p>Whether performance monitoring is enabled.</p>
642
+ </div></span>
643
+
644
+ </li>
645
+
646
+
647
+ <li class="public ">
648
+ <span class="summary_signature">
649
+
650
+ <a href="#prometheus-instance_method" title="#prometheus (instance method)">#<strong>prometheus</strong> &#x21d2; Hash </a>
651
+
652
+
653
+
654
+ </span>
655
+
656
+
657
+
658
+
659
+ <span class="note title readonly">readonly</span>
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+ <span class="summary_desc"><div class='inline'>
670
+ <p>Prometheus export configuration.</p>
671
+ </div></span>
672
+
673
+ </li>
674
+
675
+
676
+ <li class="public ">
677
+ <span class="summary_signature">
678
+
679
+ <a href="#service_name-instance_method" title="#service_name (instance method)">#<strong>service_name</strong> &#x21d2; String </a>
680
+
681
+
682
+
683
+ </span>
684
+
685
+
686
+
687
+
688
+ <span class="note title readonly">readonly</span>
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+
698
+ <span class="summary_desc"><div class='inline'>
699
+ <p>Service name for telemetry.</p>
700
+ </div></span>
701
+
702
+ </li>
703
+
704
+
705
+ <li class="public ">
706
+ <span class="summary_signature">
707
+
708
+ <a href="#service_version-instance_method" title="#service_version (instance method)">#<strong>service_version</strong> &#x21d2; String </a>
709
+
710
+
711
+
712
+ </span>
713
+
714
+
715
+
716
+
717
+ <span class="note title readonly">readonly</span>
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+ <span class="summary_desc"><div class='inline'>
728
+ <p>Service version for telemetry.</p>
729
+ </div></span>
730
+
731
+ </li>
732
+
733
+
734
+ <li class="public ">
735
+ <span class="summary_signature">
736
+
737
+ <a href="#slow_query_threshold_seconds-instance_method" title="#slow_query_threshold_seconds (instance method)">#<strong>slow_query_threshold_seconds</strong> &#x21d2; Float </a>
738
+
739
+
740
+
741
+ </span>
742
+
743
+
744
+
745
+
746
+ <span class="note title readonly">readonly</span>
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
+
755
+
756
+ <span class="summary_desc"><div class='inline'>
757
+ <p>Slow query threshold in seconds.</p>
758
+ </div></span>
759
+
760
+ </li>
761
+
762
+
763
+ <li class="public ">
764
+ <span class="summary_signature">
765
+
766
+ <a href="#structured_logging_enabled-instance_method" title="#structured_logging_enabled (instance method)">#<strong>structured_logging_enabled</strong> &#x21d2; Boolean </a>
767
+
768
+
769
+
770
+ </span>
771
+
772
+
773
+
774
+
775
+ <span class="note title readonly">readonly</span>
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+ <span class="summary_desc"><div class='inline'>
786
+ <p>Whether structured logging is enabled.</p>
787
+ </div></span>
788
+
789
+ </li>
790
+
791
+
792
+ </ul>
793
+
794
+
795
+
796
+
797
+
798
+ <h2>
799
+ Class Method Summary
800
+ <small><a href="#" class="summary_toggle">collapse</a></small>
801
+ </h2>
802
+
803
+ <ul class="summary">
804
+
805
+ <li class="public ">
806
+ <span class="summary_signature">
807
+
808
+ <a href="#default_filter_parameters-class_method" title="default_filter_parameters (class method)">.<strong>default_filter_parameters</strong> &#x21d2; Array&lt;Symbol&gt; </a>
809
+
810
+
811
+
812
+ </span>
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+
822
+ <span class="summary_desc"><div class='inline'>
823
+ <p>Get the default filter parameters from Rails or use a default set.</p>
824
+ </div></span>
825
+
826
+ </li>
827
+
828
+
829
+ <li class="public ">
830
+ <span class="summary_signature">
831
+
832
+ <a href="#default_prometheus_config-class_method" title="default_prometheus_config (class method)">.<strong>default_prometheus_config</strong> &#x21d2; Hash </a>
833
+
834
+
835
+
836
+ </span>
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+ <span class="summary_desc"><div class='inline'>
847
+ <p>Get default Prometheus configuration.</p>
848
+ </div></span>
849
+
850
+ </li>
851
+
852
+
853
+ <li class="public ">
854
+ <span class="summary_signature">
855
+
856
+ <a href="#default_telemetry_config-class_method" title="default_telemetry_config (class method)">.<strong>default_telemetry_config</strong> &#x21d2; Hash </a>
857
+
858
+
859
+
860
+ </span>
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+
869
+
870
+ <span class="summary_desc"><div class='inline'>
871
+ <p>Get default telemetry configuration.</p>
872
+ </div></span>
873
+
874
+ </li>
875
+
876
+
877
+ </ul>
878
+
879
+ <h2>
880
+ Instance Method Summary
881
+ <small><a href="#" class="summary_toggle">collapse</a></small>
882
+ </h2>
883
+
884
+ <ul class="summary">
885
+
886
+ <li class="public ">
887
+ <span class="summary_signature">
888
+
889
+ <a href="#batching_enabled%3F-instance_method" title="#batching_enabled? (instance method)">#<strong>batching_enabled?</strong> &#x21d2; Boolean </a>
890
+
891
+
892
+
893
+ </span>
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+ <span class="summary_desc"><div class='inline'>
904
+ <p>Check if telemetry batching is enabled.</p>
905
+ </div></span>
906
+
907
+ </li>
908
+
909
+
910
+ <li class="public ">
911
+ <span class="summary_signature">
912
+
913
+ <a href="#configure_telemetry-instance_method" title="#configure_telemetry (instance method)">#<strong>configure_telemetry</strong>(options = {}) &#x21d2; TelemetryConfig </a>
914
+
915
+
916
+
917
+ </span>
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+ <span class="summary_desc"><div class='inline'>
928
+ <p>Update telemetry configuration with custom options.</p>
929
+ </div></span>
930
+
931
+ </li>
932
+
933
+
934
+ <li class="public ">
935
+ <span class="summary_signature">
936
+
937
+ <a href="#parameter_filter-instance_method" title="#parameter_filter (instance method)">#<strong>parameter_filter</strong> &#x21d2; ActiveSupport::ParameterFilter<sup>?</sup> </a>
938
+
939
+
940
+
941
+ </span>
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+ <span class="summary_desc"><div class='inline'>
952
+ <p>Get or create a parameter filter for sensitive data.</p>
953
+ </div></span>
954
+
955
+ </li>
956
+
957
+
958
+ </ul>
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+
968
+
969
+
970
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="BaseConfig.html" title="Tasker::Types::BaseConfig (class)">BaseConfig</a></span></h3>
971
+ <p class="inherited"><span class='object_link'><a href="BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">#initialize</a></span></p>
972
+
973
+ <div id="constructor_details" class="method_details_list">
974
+ <h2>Constructor Details</h2>
975
+
976
+ <p class="notice">This class inherits a constructor from <span class='object_link'><a href="BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">Tasker::Types::BaseConfig</a></span></p>
977
+
978
+ </div>
979
+
980
+ <div id="instance_attr_details" class="attr_details">
981
+ <h2>Instance Attribute Details</h2>
982
+
983
+
984
+ <span id=""></span>
985
+ <div class="method_details first">
986
+ <h3 class="signature first" id="config-instance_method">
987
+
988
+ #<strong>config</strong> &#x21d2; <tt>Hash</tt> <span class="extras">(readonly)</span>
989
+
990
+
991
+
992
+
993
+
994
+ </h3><div class="docstring">
995
+ <div class="discussion">
996
+
997
+ <p>Returns Advanced configuration options.</p>
998
+
999
+
1000
+ </div>
1001
+ </div>
1002
+ <div class="tags">
1003
+
1004
+ <p class="tag_title">Returns:</p>
1005
+ <ul class="return">
1006
+
1007
+ <li>
1008
+
1009
+
1010
+ <span class='type'>(<tt>Hash</tt>)</span>
1011
+
1012
+
1013
+
1014
+ &mdash;
1015
+ <div class='inline'>
1016
+ <p>Advanced configuration options</p>
1017
+ </div>
1018
+
1019
+ </li>
1020
+
1021
+ </ul>
1022
+
1023
+ </div><table class="source_code">
1024
+ <tr>
1025
+ <td>
1026
+ <pre class="lines">
1027
+
1028
+
1029
+ 161</pre>
1030
+ </td>
1031
+ <td>
1032
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 161</span>
1033
+
1034
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:config</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='id identifier rubyid_proc'>proc</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_default_telemetry_config'>default_telemetry_config</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span><span class='comma'>,</span> <span class='label'>shared:</span> <span class='kw'>true</span><span class='rparen'>)</span></pre>
1035
+ </td>
1036
+ </tr>
1037
+ </table>
1038
+ </div>
1039
+
1040
+
1041
+ <span id=""></span>
1042
+ <div class="method_details ">
1043
+ <h3 class="signature " id="correlation_id_header-instance_method">
1044
+
1045
+ #<strong>correlation_id_header</strong> &#x21d2; <tt>String</tt> <span class="extras">(readonly)</span>
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+ </h3><div class="docstring">
1052
+ <div class="discussion">
1053
+
1054
+ <p>Returns Header name for correlation ID.</p>
1055
+
1056
+
1057
+ </div>
1058
+ </div>
1059
+ <div class="tags">
1060
+
1061
+ <p class="tag_title">Returns:</p>
1062
+ <ul class="return">
1063
+
1064
+ <li>
1065
+
1066
+
1067
+ <span class='type'>(<tt>String</tt>)</span>
1068
+
1069
+
1070
+
1071
+ &mdash;
1072
+ <div class='inline'>
1073
+ <p>Header name for correlation ID</p>
1074
+ </div>
1075
+
1076
+ </li>
1077
+
1078
+ </ul>
1079
+
1080
+ </div><table class="source_code">
1081
+ <tr>
1082
+ <td>
1083
+ <pre class="lines">
1084
+
1085
+
1086
+ 71</pre>
1087
+ </td>
1088
+ <td>
1089
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 71</span>
1090
+
1091
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:correlation_id_header</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>X-Correlation-ID</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></pre>
1092
+ </td>
1093
+ </tr>
1094
+ </table>
1095
+ </div>
1096
+
1097
+
1098
+ <span id=""></span>
1099
+ <div class="method_details ">
1100
+ <h3 class="signature " id="enabled-instance_method">
1101
+
1102
+ #<strong>enabled</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(readonly)</span>
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+ </h3><div class="docstring">
1109
+ <div class="discussion">
1110
+
1111
+ <p>Returns Whether telemetry is enabled.</p>
1112
+
1113
+
1114
+ </div>
1115
+ </div>
1116
+ <div class="tags">
1117
+
1118
+ <p class="tag_title">Returns:</p>
1119
+ <ul class="return">
1120
+
1121
+ <li>
1122
+
1123
+
1124
+ <span class='type'>(<tt>Boolean</tt>)</span>
1125
+
1126
+
1127
+
1128
+ &mdash;
1129
+ <div class='inline'>
1130
+ <p>Whether telemetry is enabled</p>
1131
+ </div>
1132
+
1133
+ </li>
1134
+
1135
+ </ul>
1136
+
1137
+ </div><table class="source_code">
1138
+ <tr>
1139
+ <td>
1140
+ <pre class="lines">
1141
+
1142
+
1143
+ 32</pre>
1144
+ </td>
1145
+ <td>
1146
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 32</span>
1147
+
1148
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:enabled</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Bool</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span></pre>
1149
+ </td>
1150
+ </tr>
1151
+ </table>
1152
+ </div>
1153
+
1154
+
1155
+ <span id=""></span>
1156
+ <div class="method_details ">
1157
+ <h3 class="signature " id="event_sampling_rate-instance_method">
1158
+
1159
+ #<strong>event_sampling_rate</strong> &#x21d2; <tt>Float</tt> <span class="extras">(readonly)</span>
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+ </h3><div class="docstring">
1166
+ <div class="discussion">
1167
+
1168
+ <p>Returns Sampling rate for events.</p>
1169
+
1170
+
1171
+ </div>
1172
+ </div>
1173
+ <div class="tags">
1174
+
1175
+ <p class="tag_title">Returns:</p>
1176
+ <ul class="return">
1177
+
1178
+ <li>
1179
+
1180
+
1181
+ <span class='type'>(<tt>Float</tt>)</span>
1182
+
1183
+
1184
+
1185
+ &mdash;
1186
+ <div class='inline'>
1187
+ <p>Sampling rate for events</p>
1188
+ </div>
1189
+
1190
+ </li>
1191
+
1192
+ </ul>
1193
+
1194
+ </div><table class="source_code">
1195
+ <tr>
1196
+ <td>
1197
+ <pre class="lines">
1198
+
1199
+
1200
+ 131</pre>
1201
+ </td>
1202
+ <td>
1203
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 131</span>
1204
+
1205
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:event_sampling_rate</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Float</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='float'>1.0</span><span class='rparen'>)</span></pre>
1206
+ </td>
1207
+ </tr>
1208
+ </table>
1209
+ </div>
1210
+
1211
+
1212
+ <span id=""></span>
1213
+ <div class="method_details ">
1214
+ <h3 class="signature " id="filter_mask-instance_method">
1215
+
1216
+ #<strong>filter_mask</strong> &#x21d2; <tt>String</tt> <span class="extras">(readonly)</span>
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+ </h3><div class="docstring">
1223
+ <div class="discussion">
1224
+
1225
+ <p>Returns Filter mask string.</p>
1226
+
1227
+
1228
+ </div>
1229
+ </div>
1230
+ <div class="tags">
1231
+
1232
+ <p class="tag_title">Returns:</p>
1233
+ <ul class="return">
1234
+
1235
+ <li>
1236
+
1237
+
1238
+ <span class='type'>(<tt>String</tt>)</span>
1239
+
1240
+
1241
+
1242
+ &mdash;
1243
+ <div class='inline'>
1244
+ <p>Filter mask string</p>
1245
+ </div>
1246
+
1247
+ </li>
1248
+
1249
+ </ul>
1250
+
1251
+ </div><table class="source_code">
1252
+ <tr>
1253
+ <td>
1254
+ <pre class="lines">
1255
+
1256
+
1257
+ 59</pre>
1258
+ </td>
1259
+ <td>
1260
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 59</span>
1261
+
1262
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:filter_mask</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>[FILTERED]</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></pre>
1263
+ </td>
1264
+ </tr>
1265
+ </table>
1266
+ </div>
1267
+
1268
+
1269
+ <span id=""></span>
1270
+ <div class="method_details ">
1271
+ <h3 class="signature " id="filter_parameters-instance_method">
1272
+
1273
+ #<strong>filter_parameters</strong> &#x21d2; <tt>Array&lt;Symbol, String, Regexp&gt;</tt> <span class="extras">(readonly)</span>
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+ </h3><div class="docstring">
1280
+ <div class="discussion">
1281
+
1282
+ <p>Returns Parameters to filter.</p>
1283
+
1284
+
1285
+ </div>
1286
+ </div>
1287
+ <div class="tags">
1288
+
1289
+ <p class="tag_title">Returns:</p>
1290
+ <ul class="return">
1291
+
1292
+ <li>
1293
+
1294
+
1295
+ <span class='type'>(<tt>Array&lt;Symbol, String, Regexp&gt;</tt>)</span>
1296
+
1297
+
1298
+
1299
+ &mdash;
1300
+ <div class='inline'>
1301
+ <p>Parameters to filter</p>
1302
+ </div>
1303
+
1304
+ </li>
1305
+
1306
+ </ul>
1307
+
1308
+ </div><table class="source_code">
1309
+ <tr>
1310
+ <td>
1311
+ <pre class="lines">
1312
+
1313
+
1314
+ 51
1315
+ 52
1316
+ 53</pre>
1317
+ </td>
1318
+ <td>
1319
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 51</span>
1320
+
1321
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:filter_parameters</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Array</span><span class='period'>.</span><span class='id identifier rubyid_of'>of</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='period'>.</span><span class='const'>Interface</span><span class='lparen'>(</span><span class='symbol'>:to_s</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='id identifier rubyid_proc'>proc</span> <span class='lbrace'>{</span>
1322
+ <span class='id identifier rubyid_default_filter_parameters'>default_filter_parameters</span>
1323
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span><span class='comma'>,</span> <span class='label'>shared:</span> <span class='kw'>true</span><span class='rparen'>)</span></pre>
1324
+ </td>
1325
+ </tr>
1326
+ </table>
1327
+ </div>
1328
+
1329
+
1330
+ <span id=""></span>
1331
+ <div class="method_details ">
1332
+ <h3 class="signature " id="filtered_events-instance_method">
1333
+
1334
+ #<strong>filtered_events</strong> &#x21d2; <tt>Array&lt;String&gt;</tt> <span class="extras">(readonly)</span>
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+ </h3><div class="docstring">
1341
+ <div class="discussion">
1342
+
1343
+ <p>Returns List of event names to skip.</p>
1344
+
1345
+
1346
+ </div>
1347
+ </div>
1348
+ <div class="tags">
1349
+
1350
+ <p class="tag_title">Returns:</p>
1351
+ <ul class="return">
1352
+
1353
+ <li>
1354
+
1355
+
1356
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
1357
+
1358
+
1359
+
1360
+ &mdash;
1361
+ <div class='inline'>
1362
+ <p>List of event names to skip</p>
1363
+ </div>
1364
+
1365
+ </li>
1366
+
1367
+ </ul>
1368
+
1369
+ </div><table class="source_code">
1370
+ <tr>
1371
+ <td>
1372
+ <pre class="lines">
1373
+
1374
+
1375
+ 137</pre>
1376
+ </td>
1377
+ <td>
1378
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 137</span>
1379
+
1380
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:filtered_events</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Array</span><span class='period'>.</span><span class='id identifier rubyid_of'>of</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span><span class='rparen'>)</span></pre>
1381
+ </td>
1382
+ </tr>
1383
+ </table>
1384
+ </div>
1385
+
1386
+
1387
+ <span id=""></span>
1388
+ <div class="method_details ">
1389
+ <h3 class="signature " id="log_format-instance_method">
1390
+
1391
+ #<strong>log_format</strong> &#x21d2; <tt>String</tt> <span class="extras">(readonly)</span>
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+ </h3><div class="docstring">
1398
+ <div class="discussion">
1399
+
1400
+ <p>Returns Log format (json, pretty_json, logfmt).</p>
1401
+
1402
+
1403
+ </div>
1404
+ </div>
1405
+ <div class="tags">
1406
+
1407
+ <p class="tag_title">Returns:</p>
1408
+ <ul class="return">
1409
+
1410
+ <li>
1411
+
1412
+
1413
+ <span class='type'>(<tt>String</tt>)</span>
1414
+
1415
+
1416
+
1417
+ &mdash;
1418
+ <div class='inline'>
1419
+ <p>Log format (json, pretty_json, logfmt)</p>
1420
+ </div>
1421
+
1422
+ </li>
1423
+
1424
+ </ul>
1425
+
1426
+ </div><table class="source_code">
1427
+ <tr>
1428
+ <td>
1429
+ <pre class="lines">
1430
+
1431
+
1432
+ 83</pre>
1433
+ </td>
1434
+ <td>
1435
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 83</span>
1436
+
1437
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:log_format</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>json</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></pre>
1438
+ </td>
1439
+ </tr>
1440
+ </table>
1441
+ </div>
1442
+
1443
+
1444
+ <span id=""></span>
1445
+ <div class="method_details ">
1446
+ <h3 class="signature " id="log_level-instance_method">
1447
+
1448
+ #<strong>log_level</strong> &#x21d2; <tt>String</tt> <span class="extras">(readonly)</span>
1449
+
1450
+
1451
+
1452
+
1453
+
1454
+ </h3><div class="docstring">
1455
+ <div class="discussion">
1456
+
1457
+ <p>Returns Log level (debug, info, warn, error, fatal).</p>
1458
+
1459
+
1460
+ </div>
1461
+ </div>
1462
+ <div class="tags">
1463
+
1464
+ <p class="tag_title">Returns:</p>
1465
+ <ul class="return">
1466
+
1467
+ <li>
1468
+
1469
+
1470
+ <span class='type'>(<tt>String</tt>)</span>
1471
+
1472
+
1473
+
1474
+ &mdash;
1475
+ <div class='inline'>
1476
+ <p>Log level (debug, info, warn, error, fatal)</p>
1477
+ </div>
1478
+
1479
+ </li>
1480
+
1481
+ </ul>
1482
+
1483
+ </div><table class="source_code">
1484
+ <tr>
1485
+ <td>
1486
+ <pre class="lines">
1487
+
1488
+
1489
+ 77</pre>
1490
+ </td>
1491
+ <td>
1492
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 77</span>
1493
+
1494
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:log_level</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>info</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></pre>
1495
+ </td>
1496
+ </tr>
1497
+ </table>
1498
+ </div>
1499
+
1500
+
1501
+ <span id=""></span>
1502
+ <div class="method_details ">
1503
+ <h3 class="signature " id="max_stored_samples-instance_method">
1504
+
1505
+ #<strong>max_stored_samples</strong> &#x21d2; <tt>Integer</tt> <span class="extras">(readonly)</span>
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+ </h3><div class="docstring">
1512
+ <div class="discussion">
1513
+
1514
+ <p>Returns Maximum stored samples.</p>
1515
+
1516
+
1517
+ </div>
1518
+ </div>
1519
+ <div class="tags">
1520
+
1521
+ <p class="tag_title">Returns:</p>
1522
+ <ul class="return">
1523
+
1524
+ <li>
1525
+
1526
+
1527
+ <span class='type'>(<tt>Integer</tt>)</span>
1528
+
1529
+
1530
+
1531
+ &mdash;
1532
+ <div class='inline'>
1533
+ <p>Maximum stored samples</p>
1534
+ </div>
1535
+
1536
+ </li>
1537
+
1538
+ </ul>
1539
+
1540
+ </div><table class="source_code">
1541
+ <tr>
1542
+ <td>
1543
+ <pre class="lines">
1544
+
1545
+
1546
+ 143</pre>
1547
+ </td>
1548
+ <td>
1549
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 143</span>
1550
+
1551
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:max_stored_samples</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Integer</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='int'>1000</span><span class='rparen'>)</span></pre>
1552
+ </td>
1553
+ </tr>
1554
+ </table>
1555
+ </div>
1556
+
1557
+
1558
+ <span id=""></span>
1559
+ <div class="method_details ">
1560
+ <h3 class="signature " id="memory_threshold_mb-instance_method">
1561
+
1562
+ #<strong>memory_threshold_mb</strong> &#x21d2; <tt>Integer</tt> <span class="extras">(readonly)</span>
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+ </h3><div class="docstring">
1569
+ <div class="discussion">
1570
+
1571
+ <p>Returns Memory threshold in megabytes.</p>
1572
+
1573
+
1574
+ </div>
1575
+ </div>
1576
+ <div class="tags">
1577
+
1578
+ <p class="tag_title">Returns:</p>
1579
+ <ul class="return">
1580
+
1581
+ <li>
1582
+
1583
+
1584
+ <span class='type'>(<tt>Integer</tt>)</span>
1585
+
1586
+
1587
+
1588
+ &mdash;
1589
+ <div class='inline'>
1590
+ <p>Memory threshold in megabytes</p>
1591
+ </div>
1592
+
1593
+ </li>
1594
+
1595
+ </ul>
1596
+
1597
+ </div><table class="source_code">
1598
+ <tr>
1599
+ <td>
1600
+ <pre class="lines">
1601
+
1602
+
1603
+ 125</pre>
1604
+ </td>
1605
+ <td>
1606
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 125</span>
1607
+
1608
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:memory_threshold_mb</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Integer</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='int'>100</span><span class='rparen'>)</span></pre>
1609
+ </td>
1610
+ </tr>
1611
+ </table>
1612
+ </div>
1613
+
1614
+
1615
+ <span id=""></span>
1616
+ <div class="method_details ">
1617
+ <h3 class="signature " id="metrics_auth_required-instance_method">
1618
+
1619
+ #<strong>metrics_auth_required</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(readonly)</span>
1620
+
1621
+
1622
+
1623
+
1624
+
1625
+ </h3><div class="docstring">
1626
+ <div class="discussion">
1627
+
1628
+ <p>Returns Whether metrics endpoint requires auth.</p>
1629
+
1630
+
1631
+ </div>
1632
+ </div>
1633
+ <div class="tags">
1634
+
1635
+ <p class="tag_title">Returns:</p>
1636
+ <ul class="return">
1637
+
1638
+ <li>
1639
+
1640
+
1641
+ <span class='type'>(<tt>Boolean</tt>)</span>
1642
+
1643
+
1644
+
1645
+ &mdash;
1646
+ <div class='inline'>
1647
+ <p>Whether metrics endpoint requires auth</p>
1648
+ </div>
1649
+
1650
+ </li>
1651
+
1652
+ </ul>
1653
+
1654
+ </div><table class="source_code">
1655
+ <tr>
1656
+ <td>
1657
+ <pre class="lines">
1658
+
1659
+
1660
+ 107</pre>
1661
+ </td>
1662
+ <td>
1663
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 107</span>
1664
+
1665
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:metrics_auth_required</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Bool</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='kw'>false</span><span class='rparen'>)</span></pre>
1666
+ </td>
1667
+ </tr>
1668
+ </table>
1669
+ </div>
1670
+
1671
+
1672
+ <span id=""></span>
1673
+ <div class="method_details ">
1674
+ <h3 class="signature " id="metrics_enabled-instance_method">
1675
+
1676
+ #<strong>metrics_enabled</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(readonly)</span>
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+ </h3><div class="docstring">
1683
+ <div class="discussion">
1684
+
1685
+ <p>Returns Whether metrics collection is enabled.</p>
1686
+
1687
+
1688
+ </div>
1689
+ </div>
1690
+ <div class="tags">
1691
+
1692
+ <p class="tag_title">Returns:</p>
1693
+ <ul class="return">
1694
+
1695
+ <li>
1696
+
1697
+
1698
+ <span class='type'>(<tt>Boolean</tt>)</span>
1699
+
1700
+
1701
+
1702
+ &mdash;
1703
+ <div class='inline'>
1704
+ <p>Whether metrics collection is enabled</p>
1705
+ </div>
1706
+
1707
+ </li>
1708
+
1709
+ </ul>
1710
+
1711
+ </div><table class="source_code">
1712
+ <tr>
1713
+ <td>
1714
+ <pre class="lines">
1715
+
1716
+
1717
+ 89</pre>
1718
+ </td>
1719
+ <td>
1720
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 89</span>
1721
+
1722
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:metrics_enabled</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Bool</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span></pre>
1723
+ </td>
1724
+ </tr>
1725
+ </table>
1726
+ </div>
1727
+
1728
+
1729
+ <span id=""></span>
1730
+ <div class="method_details ">
1731
+ <h3 class="signature " id="metrics_endpoint-instance_method">
1732
+
1733
+ #<strong>metrics_endpoint</strong> &#x21d2; <tt>String</tt> <span class="extras">(readonly)</span>
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+ </h3><div class="docstring">
1740
+ <div class="discussion">
1741
+
1742
+ <p>Returns Path for metrics endpoint.</p>
1743
+
1744
+
1745
+ </div>
1746
+ </div>
1747
+ <div class="tags">
1748
+
1749
+ <p class="tag_title">Returns:</p>
1750
+ <ul class="return">
1751
+
1752
+ <li>
1753
+
1754
+
1755
+ <span class='type'>(<tt>String</tt>)</span>
1756
+
1757
+
1758
+
1759
+ &mdash;
1760
+ <div class='inline'>
1761
+ <p>Path for metrics endpoint</p>
1762
+ </div>
1763
+
1764
+ </li>
1765
+
1766
+ </ul>
1767
+
1768
+ </div><table class="source_code">
1769
+ <tr>
1770
+ <td>
1771
+ <pre class="lines">
1772
+
1773
+
1774
+ 95</pre>
1775
+ </td>
1776
+ <td>
1777
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 95</span>
1778
+
1779
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:metrics_endpoint</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/tasker/metrics</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></pre>
1780
+ </td>
1781
+ </tr>
1782
+ </table>
1783
+ </div>
1784
+
1785
+
1786
+ <span id=""></span>
1787
+ <div class="method_details ">
1788
+ <h3 class="signature " id="metrics_format-instance_method">
1789
+
1790
+ #<strong>metrics_format</strong> &#x21d2; <tt>String</tt> <span class="extras">(readonly)</span>
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+ </h3><div class="docstring">
1797
+ <div class="discussion">
1798
+
1799
+ <p>Returns Metrics format (prometheus, json).</p>
1800
+
1801
+
1802
+ </div>
1803
+ </div>
1804
+ <div class="tags">
1805
+
1806
+ <p class="tag_title">Returns:</p>
1807
+ <ul class="return">
1808
+
1809
+ <li>
1810
+
1811
+
1812
+ <span class='type'>(<tt>String</tt>)</span>
1813
+
1814
+
1815
+
1816
+ &mdash;
1817
+ <div class='inline'>
1818
+ <p>Metrics format (prometheus, json)</p>
1819
+ </div>
1820
+
1821
+ </li>
1822
+
1823
+ </ul>
1824
+
1825
+ </div><table class="source_code">
1826
+ <tr>
1827
+ <td>
1828
+ <pre class="lines">
1829
+
1830
+
1831
+ 101</pre>
1832
+ </td>
1833
+ <td>
1834
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 101</span>
1835
+
1836
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:metrics_format</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>prometheus</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></pre>
1837
+ </td>
1838
+ </tr>
1839
+ </table>
1840
+ </div>
1841
+
1842
+
1843
+ <span id=""></span>
1844
+ <div class="method_details ">
1845
+ <h3 class="signature " id="metrics_retention_hours-instance_method">
1846
+
1847
+ #<strong>metrics_retention_hours</strong> &#x21d2; <tt>Integer</tt> <span class="extras">(readonly)</span>
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+ </h3><div class="docstring">
1854
+ <div class="discussion">
1855
+
1856
+ <p>Returns Retention period in hours.</p>
1857
+
1858
+
1859
+ </div>
1860
+ </div>
1861
+ <div class="tags">
1862
+
1863
+ <p class="tag_title">Returns:</p>
1864
+ <ul class="return">
1865
+
1866
+ <li>
1867
+
1868
+
1869
+ <span class='type'>(<tt>Integer</tt>)</span>
1870
+
1871
+
1872
+
1873
+ &mdash;
1874
+ <div class='inline'>
1875
+ <p>Retention period in hours</p>
1876
+ </div>
1877
+
1878
+ </li>
1879
+
1880
+ </ul>
1881
+
1882
+ </div><table class="source_code">
1883
+ <tr>
1884
+ <td>
1885
+ <pre class="lines">
1886
+
1887
+
1888
+ 149</pre>
1889
+ </td>
1890
+ <td>
1891
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 149</span>
1892
+
1893
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:metrics_retention_hours</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Integer</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='int'>24</span><span class='rparen'>)</span></pre>
1894
+ </td>
1895
+ </tr>
1896
+ </table>
1897
+ </div>
1898
+
1899
+
1900
+ <span id=""></span>
1901
+ <div class="method_details ">
1902
+ <h3 class="signature " id="performance_monitoring_enabled-instance_method">
1903
+
1904
+ #<strong>performance_monitoring_enabled</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(readonly)</span>
1905
+
1906
+
1907
+
1908
+
1909
+
1910
+ </h3><div class="docstring">
1911
+ <div class="discussion">
1912
+
1913
+ <p>Returns Whether performance monitoring is enabled.</p>
1914
+
1915
+
1916
+ </div>
1917
+ </div>
1918
+ <div class="tags">
1919
+
1920
+ <p class="tag_title">Returns:</p>
1921
+ <ul class="return">
1922
+
1923
+ <li>
1924
+
1925
+
1926
+ <span class='type'>(<tt>Boolean</tt>)</span>
1927
+
1928
+
1929
+
1930
+ &mdash;
1931
+ <div class='inline'>
1932
+ <p>Whether performance monitoring is enabled</p>
1933
+ </div>
1934
+
1935
+ </li>
1936
+
1937
+ </ul>
1938
+
1939
+ </div><table class="source_code">
1940
+ <tr>
1941
+ <td>
1942
+ <pre class="lines">
1943
+
1944
+
1945
+ 113</pre>
1946
+ </td>
1947
+ <td>
1948
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 113</span>
1949
+
1950
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:performance_monitoring_enabled</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Bool</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span></pre>
1951
+ </td>
1952
+ </tr>
1953
+ </table>
1954
+ </div>
1955
+
1956
+
1957
+ <span id=""></span>
1958
+ <div class="method_details ">
1959
+ <h3 class="signature " id="prometheus-instance_method">
1960
+
1961
+ #<strong>prometheus</strong> &#x21d2; <tt>Hash</tt> <span class="extras">(readonly)</span>
1962
+
1963
+
1964
+
1965
+
1966
+
1967
+ </h3><div class="docstring">
1968
+ <div class="discussion">
1969
+
1970
+ <p>Returns Prometheus export configuration.</p>
1971
+
1972
+
1973
+ </div>
1974
+ </div>
1975
+ <div class="tags">
1976
+
1977
+ <p class="tag_title">Returns:</p>
1978
+ <ul class="return">
1979
+
1980
+ <li>
1981
+
1982
+
1983
+ <span class='type'>(<tt>Hash</tt>)</span>
1984
+
1985
+
1986
+
1987
+ &mdash;
1988
+ <div class='inline'>
1989
+ <p>Prometheus export configuration</p>
1990
+ </div>
1991
+
1992
+ </li>
1993
+
1994
+ </ul>
1995
+
1996
+ </div><table class="source_code">
1997
+ <tr>
1998
+ <td>
1999
+ <pre class="lines">
2000
+
2001
+
2002
+ 155</pre>
2003
+ </td>
2004
+ <td>
2005
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 155</span>
2006
+
2007
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:prometheus</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='id identifier rubyid_proc'>proc</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_default_prometheus_config'>default_prometheus_config</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span><span class='comma'>,</span> <span class='label'>shared:</span> <span class='kw'>true</span><span class='rparen'>)</span></pre>
2008
+ </td>
2009
+ </tr>
2010
+ </table>
2011
+ </div>
2012
+
2013
+
2014
+ <span id=""></span>
2015
+ <div class="method_details ">
2016
+ <h3 class="signature " id="service_name-instance_method">
2017
+
2018
+ #<strong>service_name</strong> &#x21d2; <tt>String</tt> <span class="extras">(readonly)</span>
2019
+
2020
+
2021
+
2022
+
2023
+
2024
+ </h3><div class="docstring">
2025
+ <div class="discussion">
2026
+
2027
+ <p>Returns Service name for telemetry.</p>
2028
+
2029
+
2030
+ </div>
2031
+ </div>
2032
+ <div class="tags">
2033
+
2034
+ <p class="tag_title">Returns:</p>
2035
+ <ul class="return">
2036
+
2037
+ <li>
2038
+
2039
+
2040
+ <span class='type'>(<tt>String</tt>)</span>
2041
+
2042
+
2043
+
2044
+ &mdash;
2045
+ <div class='inline'>
2046
+ <p>Service name for telemetry</p>
2047
+ </div>
2048
+
2049
+ </li>
2050
+
2051
+ </ul>
2052
+
2053
+ </div><table class="source_code">
2054
+ <tr>
2055
+ <td>
2056
+ <pre class="lines">
2057
+
2058
+
2059
+ 38</pre>
2060
+ </td>
2061
+ <td>
2062
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 38</span>
2063
+
2064
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:service_name</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>tasker</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></pre>
2065
+ </td>
2066
+ </tr>
2067
+ </table>
2068
+ </div>
2069
+
2070
+
2071
+ <span id=""></span>
2072
+ <div class="method_details ">
2073
+ <h3 class="signature " id="service_version-instance_method">
2074
+
2075
+ #<strong>service_version</strong> &#x21d2; <tt>String</tt> <span class="extras">(readonly)</span>
2076
+
2077
+
2078
+
2079
+
2080
+
2081
+ </h3><div class="docstring">
2082
+ <div class="discussion">
2083
+
2084
+ <p>Returns Service version for telemetry.</p>
2085
+
2086
+
2087
+ </div>
2088
+ </div>
2089
+ <div class="tags">
2090
+
2091
+ <p class="tag_title">Returns:</p>
2092
+ <ul class="return">
2093
+
2094
+ <li>
2095
+
2096
+
2097
+ <span class='type'>(<tt>String</tt>)</span>
2098
+
2099
+
2100
+
2101
+ &mdash;
2102
+ <div class='inline'>
2103
+ <p>Service version for telemetry</p>
2104
+ </div>
2105
+
2106
+ </li>
2107
+
2108
+ </ul>
2109
+
2110
+ </div><table class="source_code">
2111
+ <tr>
2112
+ <td>
2113
+ <pre class="lines">
2114
+
2115
+
2116
+ 44</pre>
2117
+ </td>
2118
+ <td>
2119
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 44</span>
2120
+
2121
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:service_version</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='id identifier rubyid_proc'>proc</span> <span class='lbrace'>{</span> <span class='const'><span class='object_link'><a href="../../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Tasker.html#VERSION-constant" title="Tasker::VERSION (constant)">VERSION</a></span></span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span><span class='comma'>,</span> <span class='label'>shared:</span> <span class='kw'>true</span><span class='rparen'>)</span></pre>
2122
+ </td>
2123
+ </tr>
2124
+ </table>
2125
+ </div>
2126
+
2127
+
2128
+ <span id=""></span>
2129
+ <div class="method_details ">
2130
+ <h3 class="signature " id="slow_query_threshold_seconds-instance_method">
2131
+
2132
+ #<strong>slow_query_threshold_seconds</strong> &#x21d2; <tt>Float</tt> <span class="extras">(readonly)</span>
2133
+
2134
+
2135
+
2136
+
2137
+
2138
+ </h3><div class="docstring">
2139
+ <div class="discussion">
2140
+
2141
+ <p>Returns Slow query threshold in seconds.</p>
2142
+
2143
+
2144
+ </div>
2145
+ </div>
2146
+ <div class="tags">
2147
+
2148
+ <p class="tag_title">Returns:</p>
2149
+ <ul class="return">
2150
+
2151
+ <li>
2152
+
2153
+
2154
+ <span class='type'>(<tt>Float</tt>)</span>
2155
+
2156
+
2157
+
2158
+ &mdash;
2159
+ <div class='inline'>
2160
+ <p>Slow query threshold in seconds</p>
2161
+ </div>
2162
+
2163
+ </li>
2164
+
2165
+ </ul>
2166
+
2167
+ </div><table class="source_code">
2168
+ <tr>
2169
+ <td>
2170
+ <pre class="lines">
2171
+
2172
+
2173
+ 119</pre>
2174
+ </td>
2175
+ <td>
2176
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 119</span>
2177
+
2178
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:slow_query_threshold_seconds</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Float</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='float'>1.0</span><span class='rparen'>)</span></pre>
2179
+ </td>
2180
+ </tr>
2181
+ </table>
2182
+ </div>
2183
+
2184
+
2185
+ <span id=""></span>
2186
+ <div class="method_details ">
2187
+ <h3 class="signature " id="structured_logging_enabled-instance_method">
2188
+
2189
+ #<strong>structured_logging_enabled</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(readonly)</span>
2190
+
2191
+
2192
+
2193
+
2194
+
2195
+ </h3><div class="docstring">
2196
+ <div class="discussion">
2197
+
2198
+ <p>Returns Whether structured logging is enabled.</p>
2199
+
2200
+
2201
+ </div>
2202
+ </div>
2203
+ <div class="tags">
2204
+
2205
+ <p class="tag_title">Returns:</p>
2206
+ <ul class="return">
2207
+
2208
+ <li>
2209
+
2210
+
2211
+ <span class='type'>(<tt>Boolean</tt>)</span>
2212
+
2213
+
2214
+
2215
+ &mdash;
2216
+ <div class='inline'>
2217
+ <p>Whether structured logging is enabled</p>
2218
+ </div>
2219
+
2220
+ </li>
2221
+
2222
+ </ul>
2223
+
2224
+ </div><table class="source_code">
2225
+ <tr>
2226
+ <td>
2227
+ <pre class="lines">
2228
+
2229
+
2230
+ 65</pre>
2231
+ </td>
2232
+ <td>
2233
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 65</span>
2234
+
2235
+ <span class='id identifier rubyid_attribute'>attribute</span> <span class='symbol'>:structured_logging_enabled</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'>Bool</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span></pre>
2236
+ </td>
2237
+ </tr>
2238
+ </table>
2239
+ </div>
2240
+
2241
+ </div>
2242
+
2243
+
2244
+ <div id="class_method_details" class="method_details_list">
2245
+ <h2>Class Method Details</h2>
2246
+
2247
+
2248
+ <div class="method_details first">
2249
+ <h3 class="signature first" id="default_filter_parameters-class_method">
2250
+
2251
+ .<strong>default_filter_parameters</strong> &#x21d2; <tt>Array&lt;Symbol&gt;</tt>
2252
+
2253
+
2254
+
2255
+
2256
+
2257
+ </h3><div class="docstring">
2258
+ <div class="discussion">
2259
+
2260
+ <p>Get the default filter parameters from Rails or use a default set</p>
2261
+
2262
+
2263
+ </div>
2264
+ </div>
2265
+ <div class="tags">
2266
+
2267
+ <p class="tag_title">Returns:</p>
2268
+ <ul class="return">
2269
+
2270
+ <li>
2271
+
2272
+
2273
+ <span class='type'>(<tt>Array&lt;Symbol&gt;</tt>)</span>
2274
+
2275
+
2276
+
2277
+ &mdash;
2278
+ <div class='inline'>
2279
+ <p>Default parameters to filter</p>
2280
+ </div>
2281
+
2282
+ </li>
2283
+
2284
+ </ul>
2285
+
2286
+ </div><table class="source_code">
2287
+ <tr>
2288
+ <td>
2289
+ <pre class="lines">
2290
+
2291
+
2292
+ 166
2293
+ 167
2294
+ 168
2295
+ 169
2296
+ 170
2297
+ 171
2298
+ 172</pre>
2299
+ </td>
2300
+ <td>
2301
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 166</span>
2302
+
2303
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_default_filter_parameters'>default_filter_parameters</span>
2304
+ <span class='kw'>if</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Rails</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='op'>&amp;.</span><span class='id identifier rubyid_config'>config</span><span class='op'>&amp;.</span><span class='id identifier rubyid_filter_parameters'>filter_parameters</span><span class='op'>&amp;.</span><span class='id identifier rubyid_any?'>any?</span>
2305
+ <span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_filter_parameters'>filter_parameters</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
2306
+ <span class='kw'>else</span>
2307
+ <span class='qsymbols_beg'>%i[</span><span class='tstring_content'>passw</span><span class='words_sep'> </span><span class='tstring_content'>email</span><span class='words_sep'> </span><span class='tstring_content'>secret</span><span class='words_sep'> </span><span class='tstring_content'>token</span><span class='words_sep'> </span><span class='tstring_content'>_key</span><span class='words_sep'> </span><span class='tstring_content'>crypt</span><span class='words_sep'> </span><span class='tstring_content'>salt</span><span class='words_sep'> </span><span class='tstring_content'>certificate</span><span class='words_sep'> </span><span class='tstring_content'>otp</span><span class='words_sep'> </span><span class='tstring_content'>ssn</span><span class='tstring_end'>]</span></span>
2308
+ <span class='kw'>end</span>
2309
+ <span class='kw'>end</span></pre>
2310
+ </td>
2311
+ </tr>
2312
+ </table>
2313
+ </div>
2314
+
2315
+ <div class="method_details ">
2316
+ <h3 class="signature " id="default_prometheus_config-class_method">
2317
+
2318
+ .<strong>default_prometheus_config</strong> &#x21d2; <tt>Hash</tt>
2319
+
2320
+
2321
+
2322
+
2323
+
2324
+ </h3><div class="docstring">
2325
+ <div class="discussion">
2326
+
2327
+ <p>Get default Prometheus configuration</p>
2328
+
2329
+
2330
+ </div>
2331
+ </div>
2332
+ <div class="tags">
2333
+
2334
+ <p class="tag_title">Returns:</p>
2335
+ <ul class="return">
2336
+
2337
+ <li>
2338
+
2339
+
2340
+ <span class='type'>(<tt>Hash</tt>)</span>
2341
+
2342
+
2343
+
2344
+ &mdash;
2345
+ <div class='inline'>
2346
+ <p>Default Prometheus export configuration</p>
2347
+ </div>
2348
+
2349
+ </li>
2350
+
2351
+ </ul>
2352
+
2353
+ </div><table class="source_code">
2354
+ <tr>
2355
+ <td>
2356
+ <pre class="lines">
2357
+
2358
+
2359
+ 177
2360
+ 178
2361
+ 179
2362
+ 180
2363
+ 181
2364
+ 182
2365
+ 183
2366
+ 184
2367
+ 185
2368
+ 186
2369
+ 187
2370
+ 188
2371
+ 189
2372
+ 190
2373
+ 191
2374
+ 192
2375
+ 193
2376
+ 194
2377
+ 195
2378
+ 196
2379
+ 197
2380
+ 198
2381
+ 199
2382
+ 200
2383
+ 201
2384
+ 202
2385
+ 203
2386
+ 204
2387
+ 205
2388
+ 206</pre>
2389
+ </td>
2390
+ <td>
2391
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 177</span>
2392
+
2393
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_default_prometheus_config'>default_prometheus_config</span>
2394
+ <span class='lbrace'>{</span>
2395
+ <span class='comment'># Prometheus remote write endpoint (nil disables Prometheus export)
2396
+ </span> <span class='label'>endpoint:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='comment'># e.g., &#39;http://localhost:9090/api/v1/write&#39;
2397
+ </span>
2398
+ <span class='comment'># Basic authentication for Prometheus endpoint
2399
+ </span> <span class='label'>username:</span> <span class='kw'>nil</span><span class='comma'>,</span>
2400
+ <span class='label'>password:</span> <span class='kw'>nil</span><span class='comma'>,</span>
2401
+
2402
+ <span class='comment'># Job configuration
2403
+ </span> <span class='label'>job_timeout:</span> <span class='int'>5</span><span class='period'>.</span><span class='id identifier rubyid_minutes'>minutes</span><span class='comma'>,</span>
2404
+ <span class='label'>export_timeout:</span> <span class='int'>2</span><span class='period'>.</span><span class='id identifier rubyid_minutes'>minutes</span><span class='comma'>,</span>
2405
+ <span class='label'>retry_attempts:</span> <span class='int'>3</span><span class='comma'>,</span>
2406
+
2407
+ <span class='comment'># Export scheduling
2408
+ </span> <span class='label'>retention_window:</span> <span class='int'>5</span><span class='period'>.</span><span class='id identifier rubyid_minutes'>minutes</span><span class='comma'>,</span>
2409
+ <span class='label'>safety_margin:</span> <span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_minute'>minute</span><span class='comma'>,</span>
2410
+
2411
+ <span class='comment'># Metric naming
2412
+ </span> <span class='label'>metric_prefix:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>tasker</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2413
+ <span class='label'>include_instance_labels:</span> <span class='kw'>true</span><span class='comma'>,</span>
2414
+
2415
+ <span class='comment'># Performance tuning
2416
+ </span> <span class='label'>compression:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>snappy</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='comment'># &#39;snappy&#39;, &#39;gzip&#39;, or nil
2417
+ </span> <span class='label'>batch_size:</span> <span class='int'>1000</span><span class='comma'>,</span>
2418
+
2419
+ <span class='comment'># Test/development mode
2420
+ </span> <span class='label'>skip_if_unavailable:</span> <span class='kw'>true</span> <span class='comment'># Don&#39;t fail if Prometheus is unreachable
2421
+ </span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
2422
+ <span class='kw'>end</span></pre>
2423
+ </td>
2424
+ </tr>
2425
+ </table>
2426
+ </div>
2427
+
2428
+ <div class="method_details ">
2429
+ <h3 class="signature " id="default_telemetry_config-class_method">
2430
+
2431
+ .<strong>default_telemetry_config</strong> &#x21d2; <tt>Hash</tt>
2432
+
2433
+
2434
+
2435
+
2436
+
2437
+ </h3><div class="docstring">
2438
+ <div class="discussion">
2439
+
2440
+ <p>Get default telemetry configuration</p>
2441
+
2442
+
2443
+ </div>
2444
+ </div>
2445
+ <div class="tags">
2446
+
2447
+ <p class="tag_title">Returns:</p>
2448
+ <ul class="return">
2449
+
2450
+ <li>
2451
+
2452
+
2453
+ <span class='type'>(<tt>Hash</tt>)</span>
2454
+
2455
+
2456
+
2457
+ &mdash;
2458
+ <div class='inline'>
2459
+ <p>Default telemetry configuration options</p>
2460
+ </div>
2461
+
2462
+ </li>
2463
+
2464
+ </ul>
2465
+
2466
+ </div><table class="source_code">
2467
+ <tr>
2468
+ <td>
2469
+ <pre class="lines">
2470
+
2471
+
2472
+ 211
2473
+ 212
2474
+ 213
2475
+ 214
2476
+ 215
2477
+ 216
2478
+ 217
2479
+ 218
2480
+ 219
2481
+ 220
2482
+ 221
2483
+ 222
2484
+ 223
2485
+ 224
2486
+ 225
2487
+ 226
2488
+ 227
2489
+ 228</pre>
2490
+ </td>
2491
+ <td>
2492
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 211</span>
2493
+
2494
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_default_telemetry_config'>default_telemetry_config</span>
2495
+ <span class='lbrace'>{</span>
2496
+ <span class='comment'># Batch processing options
2497
+ </span> <span class='label'>batch_events:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='comment'># Set to true to enable event batching
2498
+ </span> <span class='label'>buffer_size:</span> <span class='int'>100</span><span class='comma'>,</span> <span class='comment'># Maximum events to buffer before flushing
2499
+ </span> <span class='label'>flush_interval:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='comment'># Maximum time between flushes (in seconds)
2500
+ </span>
2501
+ <span class='comment'># Event filtering options
2502
+ </span> <span class='label'>filtered_events:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='comment'># List of event names to skip recording
2503
+ </span>
2504
+ <span class='comment'># Performance options
2505
+ </span> <span class='label'>enable_memoization:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='comment'># Cache frequently accessed attributes
2506
+ </span>
2507
+ <span class='comment'># Production optimizations
2508
+ </span> <span class='label'>async_processing:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='comment'># Process events asynchronously (future enhancement)
2509
+ </span> <span class='label'>sampling_rate:</span> <span class='float'>1.0</span> <span class='comment'># Sample rate for events (1.0 = 100%, 0.1 = 10%)
2510
+ </span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
2511
+ <span class='kw'>end</span></pre>
2512
+ </td>
2513
+ </tr>
2514
+ </table>
2515
+ </div>
2516
+
2517
+ </div>
2518
+
2519
+ <div id="instance_method_details" class="method_details_list">
2520
+ <h2>Instance Method Details</h2>
2521
+
2522
+
2523
+ <div class="method_details first">
2524
+ <h3 class="signature first" id="batching_enabled?-instance_method">
2525
+
2526
+ #<strong>batching_enabled?</strong> &#x21d2; <tt>Boolean</tt>
2527
+
2528
+
2529
+
2530
+
2531
+
2532
+ </h3><div class="docstring">
2533
+ <div class="discussion">
2534
+
2535
+ <p>Check if telemetry batching is enabled</p>
2536
+
2537
+
2538
+ </div>
2539
+ </div>
2540
+ <div class="tags">
2541
+
2542
+ <p class="tag_title">Returns:</p>
2543
+ <ul class="return">
2544
+
2545
+ <li>
2546
+
2547
+
2548
+ <span class='type'>(<tt>Boolean</tt>)</span>
2549
+
2550
+
2551
+
2552
+ &mdash;
2553
+ <div class='inline'>
2554
+ <p>True if batching is enabled</p>
2555
+ </div>
2556
+
2557
+ </li>
2558
+
2559
+ </ul>
2560
+
2561
+ </div><table class="source_code">
2562
+ <tr>
2563
+ <td>
2564
+ <pre class="lines">
2565
+
2566
+
2567
+ 245
2568
+ 246
2569
+ 247</pre>
2570
+ </td>
2571
+ <td>
2572
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 245</span>
2573
+
2574
+ <span class='kw'>def</span> <span class='id identifier rubyid_batching_enabled?'>batching_enabled?</span>
2575
+ <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='symbol'>:batch_events</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
2576
+ <span class='kw'>end</span></pre>
2577
+ </td>
2578
+ </tr>
2579
+ </table>
2580
+ </div>
2581
+
2582
+ <div class="method_details ">
2583
+ <h3 class="signature " id="configure_telemetry-instance_method">
2584
+
2585
+ #<strong>configure_telemetry</strong>(options = {}) &#x21d2; <tt><span class='object_link'><a href="" title="Tasker::Types::TelemetryConfig (class)">TelemetryConfig</a></span></tt>
2586
+
2587
+
2588
+
2589
+
2590
+
2591
+ </h3><div class="docstring">
2592
+ <div class="discussion">
2593
+
2594
+ <p>Update telemetry configuration with custom options</p>
2595
+
2596
+ <p>This method creates a new instance with merged configuration. Since dry-struct types are immutable, this returns a new instance.</p>
2597
+
2598
+
2599
+ </div>
2600
+ </div>
2601
+ <div class="tags">
2602
+ <p class="tag_title">Parameters:</p>
2603
+ <ul class="param">
2604
+
2605
+ <li>
2606
+
2607
+ <span class='name'>options</span>
2608
+
2609
+
2610
+ <span class='type'>(<tt>Hash</tt>)</span>
2611
+
2612
+
2613
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
2614
+
2615
+
2616
+ &mdash;
2617
+ <div class='inline'>
2618
+ <p>Custom telemetry configuration options</p>
2619
+ </div>
2620
+
2621
+ </li>
2622
+
2623
+ </ul>
2624
+
2625
+ <p class="tag_title">Returns:</p>
2626
+ <ul class="return">
2627
+
2628
+ <li>
2629
+
2630
+
2631
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Tasker::Types::TelemetryConfig (class)">TelemetryConfig</a></span></tt>)</span>
2632
+
2633
+
2634
+
2635
+ &mdash;
2636
+ <div class='inline'>
2637
+ <p>New instance with updated configuration</p>
2638
+ </div>
2639
+
2640
+ </li>
2641
+
2642
+ </ul>
2643
+
2644
+ </div><table class="source_code">
2645
+ <tr>
2646
+ <td>
2647
+ <pre class="lines">
2648
+
2649
+
2650
+ 237
2651
+ 238
2652
+ 239
2653
+ 240</pre>
2654
+ </td>
2655
+ <td>
2656
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 237</span>
2657
+
2658
+ <span class='kw'>def</span> <span class='id identifier rubyid_configure_telemetry'>configure_telemetry</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
2659
+ <span class='id identifier rubyid_new_config'>new_config</span> <span class='op'>=</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
2660
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_to_h'>to_h</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>config:</span> <span class='id identifier rubyid_new_config'>new_config</span><span class='rparen'>)</span><span class='rparen'>)</span>
2661
+ <span class='kw'>end</span></pre>
2662
+ </td>
2663
+ </tr>
2664
+ </table>
2665
+ </div>
2666
+
2667
+ <div class="method_details ">
2668
+ <h3 class="signature " id="parameter_filter-instance_method">
2669
+
2670
+ #<strong>parameter_filter</strong> &#x21d2; <tt>ActiveSupport::ParameterFilter</tt><sup>?</sup>
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+ </h3><div class="docstring">
2677
+ <div class="discussion">
2678
+
2679
+ <p>Get or create a parameter filter for sensitive data</p>
2680
+
2681
+
2682
+ </div>
2683
+ </div>
2684
+ <div class="tags">
2685
+
2686
+ <p class="tag_title">Returns:</p>
2687
+ <ul class="return">
2688
+
2689
+ <li>
2690
+
2691
+
2692
+ <span class='type'>(<tt>ActiveSupport::ParameterFilter</tt>, <tt>nil</tt>)</span>
2693
+
2694
+
2695
+
2696
+ &mdash;
2697
+ <div class='inline'>
2698
+ <p>The parameter filter</p>
2699
+ </div>
2700
+
2701
+ </li>
2702
+
2703
+ </ul>
2704
+
2705
+ </div><table class="source_code">
2706
+ <tr>
2707
+ <td>
2708
+ <pre class="lines">
2709
+
2710
+
2711
+ 252
2712
+ 253
2713
+ 254
2714
+ 255
2715
+ 256
2716
+ 257
2717
+ 258</pre>
2718
+ </td>
2719
+ <td>
2720
+ <pre class="code"><span class="info file"># File 'lib/tasker/types/telemetry_config.rb', line 252</span>
2721
+
2722
+ <span class='kw'>def</span> <span class='id identifier rubyid_parameter_filter'>parameter_filter</span>
2723
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_filter_parameters'>filter_parameters</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
2724
+
2725
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>ParameterFilter</span><span class='rparen'>)</span>
2726
+
2727
+ <span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>ParameterFilter</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_filter_parameters'>filter_parameters</span><span class='comma'>,</span> <span class='label'>mask:</span> <span class='id identifier rubyid_filter_mask'>filter_mask</span><span class='rparen'>)</span>
2728
+ <span class='kw'>end</span></pre>
2729
+ </td>
2730
+ </tr>
2731
+ </table>
2732
+ </div>
2733
+
2734
+ </div>
2735
+
2736
+ </div>
2737
+
2738
+ <div id="footer">
2739
+ Generated on Tue Jul 1 16:47:38 2025 by
2740
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2741
+ 0.9.37 (ruby-3.2.4).
2742
+ </div>
2743
+
2744
+ </div>
2745
+ </body>
2746
+ </html>