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.
- checksums.yaml +7 -0
- data/LICENSE +22 -0
- data/README.md +443 -0
- data/Rakefile +10 -0
- data/app/controllers/tasker/analytics_controller.rb +179 -0
- data/app/controllers/tasker/application_controller.rb +45 -0
- data/app/controllers/tasker/graphql_controller.rb +193 -0
- data/app/controllers/tasker/handlers_controller.rb +217 -0
- data/app/controllers/tasker/health_controller.rb +229 -0
- data/app/controllers/tasker/metrics_controller.rb +111 -0
- data/app/controllers/tasker/page_sort.rb +97 -0
- data/app/controllers/tasker/task_diagrams_controller.rb +30 -0
- data/app/controllers/tasker/tasks_controller.rb +123 -0
- data/app/controllers/tasker/workflow_steps_controller.rb +69 -0
- data/app/graphql/examples/all_tasks.graphql +22 -0
- data/app/graphql/examples/pending_tasks.graphql +23 -0
- data/app/graphql/tasker/graph_ql_types/annotation_type.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/base_argument.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_connection.rb +11 -0
- data/app/graphql/tasker/graph_ql_types/base_edge.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_enum.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_field.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_input_object.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_interface.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/base_object.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_scalar.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_union.rb +11 -0
- data/app/graphql/tasker/graph_ql_types/dependent_system_object_map_type.rb +18 -0
- data/app/graphql/tasker/graph_ql_types/dependent_system_type.rb +13 -0
- data/app/graphql/tasker/graph_ql_types/mutation_type.rb +16 -0
- data/app/graphql/tasker/graph_ql_types/named_step_type.rb +16 -0
- data/app/graphql/tasker/graph_ql_types/named_task_type.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/named_tasks_named_step_type.rb +19 -0
- data/app/graphql/tasker/graph_ql_types/node_type.rb +12 -0
- data/app/graphql/tasker/graph_ql_types/query_type.rb +20 -0
- data/app/graphql/tasker/graph_ql_types/task_annotation_type.rb +17 -0
- data/app/graphql/tasker/graph_ql_types/task_interface.rb +17 -0
- data/app/graphql/tasker/graph_ql_types/task_type.rb +26 -0
- data/app/graphql/tasker/graph_ql_types/workflow_step_type.rb +154 -0
- data/app/graphql/tasker/graph_ql_types.rb +42 -0
- data/app/graphql/tasker/mutations/base_mutation.rb +13 -0
- data/app/graphql/tasker/mutations/cancel_step.rb +29 -0
- data/app/graphql/tasker/mutations/cancel_task.rb +29 -0
- data/app/graphql/tasker/mutations/create_task.rb +52 -0
- data/app/graphql/tasker/mutations/update_step.rb +36 -0
- data/app/graphql/tasker/mutations/update_task.rb +41 -0
- data/app/graphql/tasker/queries/all_annotation_types.rb +17 -0
- data/app/graphql/tasker/queries/all_tasks.rb +23 -0
- data/app/graphql/tasker/queries/base_query.rb +9 -0
- data/app/graphql/tasker/queries/helpers.rb +16 -0
- data/app/graphql/tasker/queries/one_step.rb +24 -0
- data/app/graphql/tasker/queries/one_task.rb +18 -0
- data/app/graphql/tasker/queries/tasks_by_annotation.rb +31 -0
- data/app/graphql/tasker/queries/tasks_by_status.rb +30 -0
- data/app/graphql/tasker/tasker_rails_schema.rb +52 -0
- data/app/jobs/tasker/application_job.rb +8 -0
- data/app/jobs/tasker/metrics_export_job.rb +252 -0
- data/app/jobs/tasker/task_runner_job.rb +224 -0
- data/app/models/tasker/annotation_type.rb +26 -0
- data/app/models/tasker/application_record.rb +70 -0
- data/app/models/tasker/dependent_system.rb +26 -0
- data/app/models/tasker/dependent_system_object_map.rb +64 -0
- data/app/models/tasker/diagram/edge.rb +106 -0
- data/app/models/tasker/diagram/flowchart.rb +137 -0
- data/app/models/tasker/diagram/node.rb +99 -0
- data/app/models/tasker/named_step.rb +41 -0
- data/app/models/tasker/named_task.rb +121 -0
- data/app/models/tasker/named_tasks_named_step.rb +82 -0
- data/app/models/tasker/step_dag_relationship.rb +65 -0
- data/app/models/tasker/step_readiness_status.rb +59 -0
- data/app/models/tasker/task.rb +424 -0
- data/app/models/tasker/task_annotation.rb +36 -0
- data/app/models/tasker/task_diagram.rb +332 -0
- data/app/models/tasker/task_execution_context.rb +29 -0
- data/app/models/tasker/task_namespace.rb +41 -0
- data/app/models/tasker/task_transition.rb +235 -0
- data/app/models/tasker/workflow_step.rb +461 -0
- data/app/models/tasker/workflow_step_edge.rb +94 -0
- data/app/models/tasker/workflow_step_transition.rb +434 -0
- data/app/serializers/tasker/annotation_type_serializer.rb +8 -0
- data/app/serializers/tasker/handler_serializer.rb +109 -0
- data/app/serializers/tasker/task_annotation_serializer.rb +32 -0
- data/app/serializers/tasker/task_serializer.rb +168 -0
- data/app/serializers/tasker/workflow_step_serializer.rb +27 -0
- data/app/services/tasker/analytics_service.rb +409 -0
- data/app/views/tasker/task/_diagram.html.erb +32 -0
- data/config/initializers/dry_struct.rb +11 -0
- data/config/initializers/statesman.rb +6 -0
- data/config/initializers/tasker_orchestration.rb +17 -0
- data/config/initializers/time_formats.rb +4 -0
- data/config/routes.rb +34 -0
- data/config/tasker/subscriptions/example_integrations.yml +67 -0
- data/config/tasker/system_events.yml +305 -0
- data/db/functions/calculate_dependency_levels_v01.sql +45 -0
- data/db/functions/get_analytics_metrics_v01.sql +137 -0
- data/db/functions/get_slowest_steps_v01.sql +82 -0
- data/db/functions/get_slowest_tasks_v01.sql +96 -0
- data/db/functions/get_step_readiness_status_batch_v01.sql +140 -0
- data/db/functions/get_step_readiness_status_v01.sql +139 -0
- data/db/functions/get_system_health_counts_v01.sql +108 -0
- data/db/functions/get_task_execution_context_v01.sql +108 -0
- data/db/functions/get_task_execution_contexts_batch_v01.sql +104 -0
- data/db/init/schema.sql +2277 -0
- data/db/migrate/20250701165431_initial_tasker_schema.rb +116 -0
- data/db/views/tasker_step_dag_relationships_v01.sql +69 -0
- data/docs/APPLICATION_GENERATOR.md +384 -0
- data/docs/AUTH.md +1780 -0
- data/docs/CIRCUIT_BREAKER.md +224 -0
- data/docs/DEVELOPER_GUIDE.md +2665 -0
- data/docs/EVENT_SYSTEM.md +637 -0
- data/docs/EXECUTION_CONFIGURATION.md +341 -0
- data/docs/FLOW_CHART.md +149 -0
- data/docs/HEALTH.md +542 -0
- data/docs/METRICS.md +731 -0
- data/docs/OPTIMIZATION_PLAN.md +1479 -0
- data/docs/OVERVIEW.md +552 -0
- data/docs/QUICK_START.md +270 -0
- data/docs/REGISTRY_SYSTEMS.md +373 -0
- data/docs/REST_API.md +632 -0
- data/docs/ROADMAP.md +221 -0
- data/docs/SQL_FUNCTIONS.md +1408 -0
- data/docs/TASK_DIAGRAM.md +252 -0
- data/docs/TASK_EXECUTION_CONTROL_FLOW.md +237 -0
- data/docs/TELEMETRY.md +795 -0
- data/docs/TROUBLESHOOTING.md +756 -0
- data/docs/TaskHandlerGenerator.html +255 -0
- data/docs/Tasker/Analysis/RuntimeGraphAnalyzer.html +907 -0
- data/docs/Tasker/Analysis/TemplateGraphAnalyzer.html +1236 -0
- data/docs/Tasker/Analysis.html +117 -0
- data/docs/Tasker/AnalyticsController.html +450 -0
- data/docs/Tasker/AnalyticsService/BottleneckAnalytics.html +816 -0
- data/docs/Tasker/AnalyticsService/PerformanceAnalytics.html +586 -0
- data/docs/Tasker/AnalyticsService.html +2221 -0
- data/docs/Tasker/AnnotationType.html +137 -0
- data/docs/Tasker/AnnotationTypeSerializer.html +124 -0
- data/docs/Tasker/ApplicationController.html +147 -0
- data/docs/Tasker/ApplicationJob.html +128 -0
- data/docs/Tasker/ApplicationRecord.html +378 -0
- data/docs/Tasker/Authentication/AuthenticationError.html +124 -0
- data/docs/Tasker/Authentication/ConfigurationError.html +124 -0
- data/docs/Tasker/Authentication/Coordinator.html +242 -0
- data/docs/Tasker/Authentication/Interface.html +560 -0
- data/docs/Tasker/Authentication/InterfaceError.html +124 -0
- data/docs/Tasker/Authentication/NoneAuthenticator.html +338 -0
- data/docs/Tasker/Authentication.html +119 -0
- data/docs/Tasker/Authorization/AuthorizationError.html +139 -0
- data/docs/Tasker/Authorization/BaseCoordinator.html +927 -0
- data/docs/Tasker/Authorization/ConfigurationError.html +153 -0
- data/docs/Tasker/Authorization/ResourceConstants/ACTIONS.html +428 -0
- data/docs/Tasker/Authorization/ResourceConstants/RESOURCES.html +365 -0
- data/docs/Tasker/Authorization/ResourceConstants.html +146 -0
- data/docs/Tasker/Authorization/ResourceRegistry.html +882 -0
- data/docs/Tasker/Authorization/UnauthorizedError.html +153 -0
- data/docs/Tasker/Authorization.html +582 -0
- data/docs/Tasker/CacheCapabilities.html +167 -0
- data/docs/Tasker/CacheStrategy.html +1297 -0
- data/docs/Tasker/Concerns/Authenticatable.html +116 -0
- data/docs/Tasker/Concerns/Authorizable/AdminStatusChecker.html +256 -0
- data/docs/Tasker/Concerns/Authorizable.html +816 -0
- data/docs/Tasker/Concerns/ControllerAuthorizable.html +157 -0
- data/docs/Tasker/Concerns/EventPublisher.html +4023 -0
- data/docs/Tasker/Concerns/IdempotentStateTransitions.html +806 -0
- data/docs/Tasker/Concerns/LifecycleEventHelpers.html +129 -0
- data/docs/Tasker/Concerns/OrchestrationPublisher.html +129 -0
- data/docs/Tasker/Concerns/StateMachineBase/ClassMethods.html +1075 -0
- data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase/ClassMethods.html +191 -0
- data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase.html +126 -0
- data/docs/Tasker/Concerns/StateMachineBase.html +153 -0
- data/docs/Tasker/Concerns/StructuredLogging.html +1413 -0
- data/docs/Tasker/Concerns.html +117 -0
- data/docs/Tasker/Configuration/AuthConfiguration.html +1023 -0
- data/docs/Tasker/Configuration/ConfigurationProxy.html +581 -0
- data/docs/Tasker/Configuration/DatabaseConfiguration.html +475 -0
- data/docs/Tasker/Configuration/EngineConfiguration.html +1265 -0
- data/docs/Tasker/Configuration/HealthConfiguration.html +791 -0
- data/docs/Tasker/Configuration/TelemetryConfiguration.html +1308 -0
- data/docs/Tasker/Configuration/TelemetryConfigurationProxy.html +388 -0
- data/docs/Tasker/Configuration.html +1669 -0
- data/docs/Tasker/ConfigurationError.html +143 -0
- data/docs/Tasker/ConfiguredTask.html +514 -0
- data/docs/Tasker/Constants/EventDefinitions.html +590 -0
- data/docs/Tasker/Constants/LifecycleEvents.html +137 -0
- data/docs/Tasker/Constants/ObservabilityEvents/Step.html +152 -0
- data/docs/Tasker/Constants/ObservabilityEvents/Task.html +142 -0
- data/docs/Tasker/Constants/ObservabilityEvents.html +126 -0
- data/docs/Tasker/Constants/RegistryEvents.html +285 -0
- data/docs/Tasker/Constants/StepEvents.html +177 -0
- data/docs/Tasker/Constants/TaskEvents.html +167 -0
- data/docs/Tasker/Constants/TaskExecution/ExecutionStatus.html +207 -0
- data/docs/Tasker/Constants/TaskExecution/HealthStatus.html +191 -0
- data/docs/Tasker/Constants/TaskExecution/RecommendedAction.html +207 -0
- data/docs/Tasker/Constants/TaskExecution.html +126 -0
- data/docs/Tasker/Constants/TaskFinalization/ErrorMessages.html +132 -0
- data/docs/Tasker/Constants/TaskFinalization/PendingReasons.html +207 -0
- data/docs/Tasker/Constants/TaskFinalization/ReenqueueReasons.html +239 -0
- data/docs/Tasker/Constants/TaskFinalization.html +126 -0
- data/docs/Tasker/Constants/TaskStatuses.html +223 -0
- data/docs/Tasker/Constants/TestEvents.html +163 -0
- data/docs/Tasker/Constants/WorkflowEvents.html +222 -0
- data/docs/Tasker/Constants/WorkflowStepStatuses.html +223 -0
- data/docs/Tasker/Constants.html +561 -0
- data/docs/Tasker/DependentSystem.html +137 -0
- data/docs/Tasker/DependentSystemObjectMap.html +250 -0
- data/docs/Tasker/DetectorRegistry.html +598 -0
- data/docs/Tasker/Diagram/Edge.html +1191 -0
- data/docs/Tasker/Diagram/Flowchart.html +1539 -0
- data/docs/Tasker/Diagram/Node.html +1165 -0
- data/docs/Tasker/Diagram.html +117 -0
- data/docs/Tasker/Engine.html +215 -0
- data/docs/Tasker/Error.html +139 -0
- data/docs/Tasker/Events/Bus.html +1226 -0
- data/docs/Tasker/Events/Catalog/CatalogPrinter.html +258 -0
- data/docs/Tasker/Events/Catalog/CustomEventRegistrar.html +276 -0
- data/docs/Tasker/Events/Catalog/ExamplePayloadGenerator.html +294 -0
- data/docs/Tasker/Events/Catalog.html +1291 -0
- data/docs/Tasker/Events/CustomRegistry.html +943 -0
- data/docs/Tasker/Events/DefinitionLoader.html +575 -0
- data/docs/Tasker/Events/EventPayloadBuilder/ErrorInfoExtractor.html +286 -0
- data/docs/Tasker/Events/EventPayloadBuilder/StepPayloadBuilder.html +312 -0
- data/docs/Tasker/Events/EventPayloadBuilder.html +664 -0
- data/docs/Tasker/Events/Publisher.html +365 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer/ErrorTypeClassifier.html +1128 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer.html +270 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/MetricTagsExtractor.html +266 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber.html +2556 -0
- data/docs/Tasker/Events/Subscribers/MetricsSubscriber.html +723 -0
- data/docs/Tasker/Events/Subscribers/TelemetrySubscriber.html +2251 -0
- data/docs/Tasker/Events/Subscribers.html +117 -0
- data/docs/Tasker/Events/SubscriptionLoader.html +493 -0
- data/docs/Tasker/Events.html +294 -0
- data/docs/Tasker/EventsGenerator.html +459 -0
- data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics/AnalyticsMetrics.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics.html +412 -0
- data/docs/Tasker/Functions/FunctionBasedDependencyLevels.html +598 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestSteps/SlowestStep.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestSteps.html +453 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestTasks/SlowestTask.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestTasks.html +453 -0
- data/docs/Tasker/Functions/FunctionBasedStepReadinessStatus.html +1457 -0
- data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts/HealthMetrics.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts.html +370 -0
- data/docs/Tasker/Functions/FunctionBasedTaskExecutionContext.html +1250 -0
- data/docs/Tasker/Functions/FunctionWrapper.html +479 -0
- data/docs/Tasker/Functions.html +117 -0
- data/docs/Tasker/Generators/AuthenticatorGenerator/UsageInstructionsFormatter.html +244 -0
- data/docs/Tasker/Generators/AuthenticatorGenerator.html +373 -0
- data/docs/Tasker/Generators/AuthorizationCoordinatorGenerator.html +430 -0
- data/docs/Tasker/Generators/SubscriberGenerator.html +377 -0
- data/docs/Tasker/Generators/TaskHandlerGenerator.html +263 -0
- data/docs/Tasker/Generators.html +117 -0
- data/docs/Tasker/GraphQLTypes/AnnotationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/BaseArgument.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseConnection.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseEdge.html +130 -0
- data/docs/Tasker/GraphQLTypes/BaseEnum.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseField.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseInputObject.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseInterface.html +116 -0
- data/docs/Tasker/GraphQLTypes/BaseObject.html +128 -0
- data/docs/Tasker/GraphQLTypes/BaseScalar.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseUnion.html +124 -0
- data/docs/Tasker/GraphQLTypes/DependentSystemObjectMapType.html +132 -0
- data/docs/Tasker/GraphQLTypes/DependentSystemType.html +132 -0
- data/docs/Tasker/GraphQLTypes/MutationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedStepType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedTaskType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedTasksNamedStepType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NodeType.html +118 -0
- data/docs/Tasker/GraphQLTypes/QueryType.html +139 -0
- data/docs/Tasker/GraphQLTypes/TaskAnnotationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/TaskInterface.html +111 -0
- data/docs/Tasker/GraphQLTypes/TaskType.html +201 -0
- data/docs/Tasker/GraphQLTypes/WorkflowStepType.html +694 -0
- data/docs/Tasker/GraphQLTypes.html +130 -0
- data/docs/Tasker/GraphqlController.html +251 -0
- data/docs/Tasker/HandlerFactory.html +1518 -0
- data/docs/Tasker/HandlerSerializer.html +682 -0
- data/docs/Tasker/HandlersController.html +574 -0
- data/docs/Tasker/HashIdentityStrategy.html +278 -0
- data/docs/Tasker/Health/ReadinessChecker.html +712 -0
- data/docs/Tasker/Health/StatusChecker.html +653 -0
- data/docs/Tasker/Health.html +117 -0
- data/docs/Tasker/HealthController.html +523 -0
- data/docs/Tasker/IdentityStrategy.html +276 -0
- data/docs/Tasker/InvalidTaskHandlerConfig.html +135 -0
- data/docs/Tasker/LifecycleEvents/Events/Step.html +162 -0
- data/docs/Tasker/LifecycleEvents/Events/Task.html +162 -0
- data/docs/Tasker/LifecycleEvents/Events.html +204 -0
- data/docs/Tasker/LifecycleEvents/Publisher.html +132 -0
- data/docs/Tasker/LifecycleEvents.html +799 -0
- data/docs/Tasker/Logging/CorrelationIdGenerator.html +688 -0
- data/docs/Tasker/Logging.html +115 -0
- data/docs/Tasker/MetricsController.html +293 -0
- data/docs/Tasker/MetricsExportJob.html +414 -0
- data/docs/Tasker/Mutations/BaseMutation.html +128 -0
- data/docs/Tasker/Mutations/CancelStep.html +219 -0
- data/docs/Tasker/Mutations/CancelTask.html +221 -0
- data/docs/Tasker/Mutations/CreateTask.html +243 -0
- data/docs/Tasker/Mutations/UpdateStep.html +243 -0
- data/docs/Tasker/Mutations/UpdateTask.html +243 -0
- data/docs/Tasker/Mutations.html +117 -0
- data/docs/Tasker/NamedStep.html +216 -0
- data/docs/Tasker/NamedTask.html +910 -0
- data/docs/Tasker/NamedTasksNamedStep.html +435 -0
- data/docs/Tasker/Orchestration/BackoffCalculator.html +404 -0
- data/docs/Tasker/Orchestration/ConnectionBuilder/ConfigValidator.html +258 -0
- data/docs/Tasker/Orchestration/ConnectionBuilder.html +435 -0
- data/docs/Tasker/Orchestration/ConnectionPoolIntelligence.html +513 -0
- data/docs/Tasker/Orchestration/Coordinator.html +641 -0
- data/docs/Tasker/Orchestration/FutureStateAnalyzer.html +1045 -0
- data/docs/Tasker/Orchestration/Orchestrator.html +679 -0
- data/docs/Tasker/Orchestration/PluginIntegration.html +1127 -0
- data/docs/Tasker/Orchestration/ResponseProcessor.html +504 -0
- data/docs/Tasker/Orchestration/RetryHeaderParser.html +304 -0
- data/docs/Tasker/Orchestration/StepExecutor.html +995 -0
- data/docs/Tasker/Orchestration/StepSequenceFactory.html +644 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/BlockageChecker.html +264 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ContextManager.html +254 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/DelayCalculator.html +556 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationDecisionMaker.html +348 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationProcessor.html +286 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ReasonDeterminer.html +432 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ReenqueueManager.html +296 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/UnclearStateHandler.html +314 -0
- data/docs/Tasker/Orchestration/TaskFinalizer.html +1212 -0
- data/docs/Tasker/Orchestration/TaskInitializer.html +766 -0
- data/docs/Tasker/Orchestration/TaskReenqueuer.html +506 -0
- data/docs/Tasker/Orchestration/ViableStepDiscovery.html +442 -0
- data/docs/Tasker/Orchestration/WorkflowCoordinator.html +510 -0
- data/docs/Tasker/Orchestration.html +130 -0
- data/docs/Tasker/PageSort/PageSortParamsBuilder.html +296 -0
- data/docs/Tasker/PageSort.html +247 -0
- data/docs/Tasker/PermanentError.html +518 -0
- data/docs/Tasker/ProceduralError.html +147 -0
- data/docs/Tasker/Queries/AllAnnotationTypes.html +217 -0
- data/docs/Tasker/Queries/AllTasks.html +221 -0
- data/docs/Tasker/Queries/BaseQuery.html +128 -0
- data/docs/Tasker/Queries/Helpers.html +187 -0
- data/docs/Tasker/Queries/OneStep.html +225 -0
- data/docs/Tasker/Queries/OneTask.html +217 -0
- data/docs/Tasker/Queries/TasksByAnnotation.html +231 -0
- data/docs/Tasker/Queries/TasksByStatus.html +233 -0
- data/docs/Tasker/Queries.html +119 -0
- data/docs/Tasker/Railtie.html +124 -0
- data/docs/Tasker/Registry/BaseRegistry.html +1690 -0
- data/docs/Tasker/Registry/EventPublisher.html +667 -0
- data/docs/Tasker/Registry/InterfaceValidator.html +569 -0
- data/docs/Tasker/Registry/RegistrationError.html +132 -0
- data/docs/Tasker/Registry/RegistryError.html +139 -0
- data/docs/Tasker/Registry/StatisticsCollector.html +841 -0
- data/docs/Tasker/Registry/SubscriberRegistry.html +1504 -0
- data/docs/Tasker/Registry/ValidationError.html +132 -0
- data/docs/Tasker/Registry.html +119 -0
- data/docs/Tasker/RetryableError.html +515 -0
- data/docs/Tasker/StateMachine/Compatibility.html +282 -0
- data/docs/Tasker/StateMachine/InvalidStateTransition.html +135 -0
- data/docs/Tasker/StateMachine/StepStateMachine/StandardizedPayloadBuilder.html +260 -0
- data/docs/Tasker/StateMachine/StepStateMachine.html +2215 -0
- data/docs/Tasker/StateMachine/TaskStateMachine.html +734 -0
- data/docs/Tasker/StateMachine.html +602 -0
- data/docs/Tasker/StepDagRelationship.html +657 -0
- data/docs/Tasker/StepHandler/Api/Config.html +1091 -0
- data/docs/Tasker/StepHandler/Api.html +884 -0
- data/docs/Tasker/StepHandler/AutomaticEventPublishing.html +321 -0
- data/docs/Tasker/StepHandler/Base.html +970 -0
- data/docs/Tasker/StepHandler.html +119 -0
- data/docs/Tasker/StepReadinessStatus.html +836 -0
- data/docs/Tasker/Task.html +2575 -0
- data/docs/Tasker/TaskAnnotation.html +137 -0
- data/docs/Tasker/TaskAnnotationSerializer.html +124 -0
- data/docs/Tasker/TaskBuilder/StepNameValidator.html +264 -0
- data/docs/Tasker/TaskBuilder/StepTemplateDefiner.html +264 -0
- data/docs/Tasker/TaskBuilder.html +764 -0
- data/docs/Tasker/TaskDiagram/StepToStepEdgeBuilder.html +260 -0
- data/docs/Tasker/TaskDiagram/TaskToRootStepEdgeBuilder.html +290 -0
- data/docs/Tasker/TaskDiagram.html +548 -0
- data/docs/Tasker/TaskDiagramsController.html +240 -0
- data/docs/Tasker/TaskExecutionContext.html +469 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/ClassBasedEventRegistrar.html +238 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/YamlEventRegistrar.html +254 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner.html +988 -0
- data/docs/Tasker/TaskHandler/ClassMethods.html +357 -0
- data/docs/Tasker/TaskHandler/InstanceMethods.html +1396 -0
- data/docs/Tasker/TaskHandler/StepGroup.html +1748 -0
- data/docs/Tasker/TaskHandler.html +271 -0
- data/docs/Tasker/TaskNamespace.html +312 -0
- data/docs/Tasker/TaskRunnerJob.html +406 -0
- data/docs/Tasker/TaskSerializer.html +474 -0
- data/docs/Tasker/TaskTransition.html +1517 -0
- data/docs/Tasker/TaskWorkflowSummary.html +988 -0
- data/docs/Tasker/TaskerRailsSchema/InvalidObjectTypeError.html +132 -0
- data/docs/Tasker/TaskerRailsSchema/TypeResolutionError.html +139 -0
- data/docs/Tasker/TaskerRailsSchema/UnknownInterfaceError.html +132 -0
- data/docs/Tasker/TaskerRailsSchema.html +384 -0
- data/docs/Tasker/TasksController.html +595 -0
- data/docs/Tasker/Telemetry/EventMapping.html +1307 -0
- data/docs/Tasker/Telemetry/EventRouter.html +2178 -0
- data/docs/Tasker/Telemetry/Events/ExportEvents.html +246 -0
- data/docs/Tasker/Telemetry/Events.html +115 -0
- data/docs/Tasker/Telemetry/ExportCoordinator/DistributedLockTimeoutError.html +135 -0
- data/docs/Tasker/Telemetry/ExportCoordinator.html +2137 -0
- data/docs/Tasker/Telemetry/IntelligentCacheManager.html +1083 -0
- data/docs/Tasker/Telemetry/LogBackend.html +1088 -0
- data/docs/Tasker/Telemetry/MetricTypes/Counter.html +1054 -0
- data/docs/Tasker/Telemetry/MetricTypes/Gauge.html +1270 -0
- data/docs/Tasker/Telemetry/MetricTypes/Histogram.html +1492 -0
- data/docs/Tasker/Telemetry/MetricTypes.html +153 -0
- data/docs/Tasker/Telemetry/MetricsBackend.html +2510 -0
- data/docs/Tasker/Telemetry/MetricsExportService.html +578 -0
- data/docs/Tasker/Telemetry/PluginRegistry.html +1774 -0
- data/docs/Tasker/Telemetry/Plugins/BaseExporter.html +1835 -0
- data/docs/Tasker/Telemetry/Plugins/CsvExporter.html +768 -0
- data/docs/Tasker/Telemetry/Plugins/JsonExporter.html +747 -0
- data/docs/Tasker/Telemetry/Plugins.html +117 -0
- data/docs/Tasker/Telemetry/PrometheusExporter.html +481 -0
- data/docs/Tasker/Telemetry/TraceBackend.html +891 -0
- data/docs/Tasker/Telemetry.html +130 -0
- data/docs/Tasker/Types/AuthConfig.html +886 -0
- data/docs/Tasker/Types/BackoffConfig.html +1063 -0
- data/docs/Tasker/Types/BaseConfig.html +227 -0
- data/docs/Tasker/Types/CacheConfig.html +1731 -0
- data/docs/Tasker/Types/DatabaseConfig.html +388 -0
- data/docs/Tasker/Types/DependencyGraph.html +526 -0
- data/docs/Tasker/Types/DependencyGraphConfig.html +753 -0
- data/docs/Tasker/Types/EngineConfig.html +1181 -0
- data/docs/Tasker/Types/ExecutionConfig.html +1963 -0
- data/docs/Tasker/Types/GraphEdge.html +517 -0
- data/docs/Tasker/Types/GraphMetadata.html +781 -0
- data/docs/Tasker/Types/GraphNode.html +694 -0
- data/docs/Tasker/Types/HealthConfig.html +784 -0
- data/docs/Tasker/Types/StepSequence.html +353 -0
- data/docs/Tasker/Types/StepTemplate.html +1193 -0
- data/docs/Tasker/Types/TaskRequest.html +1179 -0
- data/docs/Tasker/Types/TelemetryConfig.html +2746 -0
- data/docs/Tasker/Types.html +154 -0
- data/docs/Tasker/WorkflowStep/StepFinder.html +282 -0
- data/docs/Tasker/WorkflowStep.html +2724 -0
- data/docs/Tasker/WorkflowStepEdge.html +304 -0
- data/docs/Tasker/WorkflowStepSerializer.html +305 -0
- data/docs/Tasker/WorkflowStepTransition/TransitionDescriptionFormatter.html +282 -0
- data/docs/Tasker/WorkflowStepTransition.html +2201 -0
- data/docs/Tasker/WorkflowStepsController.html +462 -0
- data/docs/Tasker.html +452 -0
- data/docs/VISION.md +584 -0
- data/docs/WHY.md +21 -0
- data/docs/_index.html +2375 -0
- data/docs/class_list.html +54 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +503 -0
- data/docs/events/migration_plan_outcomes.md +80 -0
- data/docs/file.README.html +541 -0
- data/docs/file_list.html +59 -0
- data/docs/frames.html +22 -0
- data/docs/index.html +541 -0
- data/docs/js/app.js +344 -0
- data/docs/js/full_list.js +242 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +9182 -0
- data/docs/top-level-namespace.html +110 -0
- data/lib/generators/tasker/authenticator_generator.rb +301 -0
- data/lib/generators/tasker/authorization_coordinator_generator.rb +139 -0
- data/lib/generators/tasker/events_generator.rb +91 -0
- data/lib/generators/tasker/subscriber_generator.rb +107 -0
- data/lib/generators/tasker/task_handler_generator.rb +138 -0
- data/lib/generators/tasker/templates/api_token_authenticator.rb.erb +113 -0
- data/lib/generators/tasker/templates/api_token_authenticator_spec.rb.erb +144 -0
- data/lib/generators/tasker/templates/authorization_coordinator.rb.erb +95 -0
- data/lib/generators/tasker/templates/authorization_coordinator_spec.rb.erb +142 -0
- data/lib/generators/tasker/templates/custom_authenticator.rb.erb +108 -0
- data/lib/generators/tasker/templates/custom_authenticator_spec.rb.erb +162 -0
- data/lib/generators/tasker/templates/custom_events.yml.erb +62 -0
- data/lib/generators/tasker/templates/custom_subscriber.rb.erb +72 -0
- data/lib/generators/tasker/templates/devise_authenticator.rb.erb +101 -0
- data/lib/generators/tasker/templates/devise_authenticator_spec.rb.erb +126 -0
- data/lib/generators/tasker/templates/initialize.rb.erb +202 -0
- data/lib/generators/tasker/templates/jwt_authenticator.rb.erb +144 -0
- data/lib/generators/tasker/templates/jwt_authenticator_spec.rb.erb +298 -0
- data/lib/generators/tasker/templates/metrics_subscriber.rb.erb +258 -0
- data/lib/generators/tasker/templates/metrics_subscriber_spec.rb.erb +308 -0
- data/lib/generators/tasker/templates/omniauth_authenticator.rb.erb +135 -0
- data/lib/generators/tasker/templates/omniauth_authenticator_spec.rb.erb +196 -0
- data/lib/generators/tasker/templates/opentelemetry_initializer.rb +52 -0
- data/lib/generators/tasker/templates/subscriber.rb.erb +64 -0
- data/lib/generators/tasker/templates/subscriber_spec.rb.erb +80 -0
- data/lib/generators/tasker/templates/task_config.yaml.erb +117 -0
- data/lib/generators/tasker/templates/task_handler.rb.erb +59 -0
- data/lib/generators/tasker/templates/task_handler_spec.rb.erb +159 -0
- data/lib/tasker/analysis/runtime_graph_analyzer.rb +1168 -0
- data/lib/tasker/analysis/template_graph_analyzer.rb +328 -0
- data/lib/tasker/authentication/coordinator.rb +78 -0
- data/lib/tasker/authentication/errors.rb +9 -0
- data/lib/tasker/authentication/interface.rb +36 -0
- data/lib/tasker/authentication/none_authenticator.rb +26 -0
- data/lib/tasker/authorization/base_coordinator.rb +112 -0
- data/lib/tasker/authorization/errors.rb +26 -0
- data/lib/tasker/authorization/resource_constants.rb +74 -0
- data/lib/tasker/authorization/resource_registry.rb +143 -0
- data/lib/tasker/authorization.rb +75 -0
- data/lib/tasker/cache_capabilities.rb +131 -0
- data/lib/tasker/cache_strategy.rb +469 -0
- data/lib/tasker/concerns/authenticatable.rb +41 -0
- data/lib/tasker/concerns/authorizable.rb +204 -0
- data/lib/tasker/concerns/controller_authorizable.rb +124 -0
- data/lib/tasker/concerns/event_publisher.rb +716 -0
- data/lib/tasker/concerns/idempotent_state_transitions.rb +128 -0
- data/lib/tasker/concerns/state_machine_base.rb +218 -0
- data/lib/tasker/concerns/structured_logging.rb +387 -0
- data/lib/tasker/configuration.rb +325 -0
- data/lib/tasker/constants/event_definitions.rb +147 -0
- data/lib/tasker/constants/registry_events.rb +54 -0
- data/lib/tasker/constants.rb +417 -0
- data/lib/tasker/engine.rb +90 -0
- data/lib/tasker/errors.rb +90 -0
- data/lib/tasker/events/catalog.rb +432 -0
- data/lib/tasker/events/custom_registry.rb +175 -0
- data/lib/tasker/events/definition_loader.rb +199 -0
- data/lib/tasker/events/event_payload_builder.rb +461 -0
- data/lib/tasker/events/publisher.rb +149 -0
- data/lib/tasker/events/subscribers/base_subscriber.rb +601 -0
- data/lib/tasker/events/subscribers/metrics_subscriber.rb +120 -0
- data/lib/tasker/events/subscribers/telemetry_subscriber.rb +462 -0
- data/lib/tasker/events/subscription_loader.rb +161 -0
- data/lib/tasker/events.rb +37 -0
- data/lib/tasker/functions/function_based_analytics_metrics.rb +103 -0
- data/lib/tasker/functions/function_based_dependency_levels.rb +54 -0
- data/lib/tasker/functions/function_based_slowest_steps.rb +84 -0
- data/lib/tasker/functions/function_based_slowest_tasks.rb +84 -0
- data/lib/tasker/functions/function_based_step_readiness_status.rb +183 -0
- data/lib/tasker/functions/function_based_system_health_counts.rb +94 -0
- data/lib/tasker/functions/function_based_task_execution_context.rb +148 -0
- data/lib/tasker/functions/function_wrapper.rb +42 -0
- data/lib/tasker/functions.rb +12 -0
- data/lib/tasker/handler_factory.rb +322 -0
- data/lib/tasker/health/readiness_checker.rb +186 -0
- data/lib/tasker/health/status_checker.rb +203 -0
- data/lib/tasker/identity_strategy.rb +38 -0
- data/lib/tasker/logging/correlation_id_generator.rb +120 -0
- data/lib/tasker/orchestration/backoff_calculator.rb +184 -0
- data/lib/tasker/orchestration/connection_builder.rb +122 -0
- data/lib/tasker/orchestration/connection_pool_intelligence.rb +177 -0
- data/lib/tasker/orchestration/coordinator.rb +119 -0
- data/lib/tasker/orchestration/future_state_analyzer.rb +137 -0
- data/lib/tasker/orchestration/plugin_integration.rb +124 -0
- data/lib/tasker/orchestration/response_processor.rb +168 -0
- data/lib/tasker/orchestration/retry_header_parser.rb +78 -0
- data/lib/tasker/orchestration/step_executor.rb +941 -0
- data/lib/tasker/orchestration/step_sequence_factory.rb +67 -0
- data/lib/tasker/orchestration/task_finalizer.rb +564 -0
- data/lib/tasker/orchestration/task_initializer.rb +140 -0
- data/lib/tasker/orchestration/task_reenqueuer.rb +71 -0
- data/lib/tasker/orchestration/viable_step_discovery.rb +65 -0
- data/lib/tasker/orchestration/workflow_coordinator.rb +294 -0
- data/lib/tasker/orchestration.rb +45 -0
- data/lib/tasker/railtie.rb +9 -0
- data/lib/tasker/registry/base_registry.rb +177 -0
- data/lib/tasker/registry/event_publisher.rb +91 -0
- data/lib/tasker/registry/interface_validator.rb +140 -0
- data/lib/tasker/registry/statistics_collector.rb +381 -0
- data/lib/tasker/registry/subscriber_registry.rb +285 -0
- data/lib/tasker/registry.rb +22 -0
- data/lib/tasker/state_machine/step_state_machine.rb +508 -0
- data/lib/tasker/state_machine/task_state_machine.rb +192 -0
- data/lib/tasker/state_machine.rb +83 -0
- data/lib/tasker/step_handler/api.rb +410 -0
- data/lib/tasker/step_handler/base.rb +206 -0
- data/lib/tasker/task_builder.rb +432 -0
- data/lib/tasker/task_handler/class_methods.rb +324 -0
- data/lib/tasker/task_handler/instance_methods.rb +293 -0
- data/lib/tasker/task_handler/step_group.rb +182 -0
- data/lib/tasker/task_handler.rb +43 -0
- data/lib/tasker/telemetry/event_mapping.rb +126 -0
- data/lib/tasker/telemetry/event_router.rb +318 -0
- data/lib/tasker/telemetry/events/export_events.rb +38 -0
- data/lib/tasker/telemetry/export_coordinator.rb +497 -0
- data/lib/tasker/telemetry/intelligent_cache_manager.rb +508 -0
- data/lib/tasker/telemetry/log_backend.rb +224 -0
- data/lib/tasker/telemetry/metric_types.rb +368 -0
- data/lib/tasker/telemetry/metrics_backend.rb +1227 -0
- data/lib/tasker/telemetry/metrics_export_service.rb +392 -0
- data/lib/tasker/telemetry/plugin_registry.rb +333 -0
- data/lib/tasker/telemetry/plugins/base_exporter.rb +246 -0
- data/lib/tasker/telemetry/plugins/csv_exporter.rb +198 -0
- data/lib/tasker/telemetry/plugins/json_exporter.rb +141 -0
- data/lib/tasker/telemetry/prometheus_exporter.rb +249 -0
- data/lib/tasker/telemetry/trace_backend.rb +186 -0
- data/lib/tasker/telemetry.rb +59 -0
- data/lib/tasker/types/auth_config.rb +81 -0
- data/lib/tasker/types/backoff_config.rb +142 -0
- data/lib/tasker/types/cache_config.rb +257 -0
- data/lib/tasker/types/database_config.rb +39 -0
- data/lib/tasker/types/dependency_graph.rb +225 -0
- data/lib/tasker/types/dependency_graph_config.rb +149 -0
- data/lib/tasker/types/engine_config.rb +131 -0
- data/lib/tasker/types/execution_config.rb +289 -0
- data/lib/tasker/types/health_config.rb +84 -0
- data/lib/tasker/types/step_sequence.rb +24 -0
- data/lib/tasker/types/step_template.rb +63 -0
- data/lib/tasker/types/task_request.rb +60 -0
- data/lib/tasker/types/telemetry_config.rb +273 -0
- data/lib/tasker/types.rb +64 -0
- data/lib/tasker/version.rb +7 -0
- data/lib/tasker.rb +82 -0
- data/lib/tasks/tasker_tasks.rake +302 -0
- metadata +958 -0
@@ -0,0 +1,2251 @@
|
|
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::Events::Subscribers::TelemetrySubscriber
|
8
|
+
|
9
|
+
— 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::Events::Subscribers::TelemetrySubscriber";
|
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> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../../../Tasker.html" title="Tasker (module)">Tasker</a></span></span> » <span class='title'><span class='object_link'><a href="../../Events.html" title="Tasker::Events (module)">Events</a></span></span> » <span class='title'><span class='object_link'><a href="../Subscribers.html" title="Tasker::Events::Subscribers (module)">Subscribers</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">TelemetrySubscriber</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::Events::Subscribers::TelemetrySubscriber
|
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="BaseSubscriber.html" title="Tasker::Events::Subscribers::BaseSubscriber (class)">BaseSubscriber</a></span></span>
|
73
|
+
|
74
|
+
<ul class="fullTree">
|
75
|
+
<li>Object</li>
|
76
|
+
|
77
|
+
<li class="next"><span class='object_link'><a href="BaseSubscriber.html" title="Tasker::Events::Subscribers::BaseSubscriber (class)">BaseSubscriber</a></span></li>
|
78
|
+
|
79
|
+
<li class="next">Tasker::Events::Subscribers::TelemetrySubscriber</li>
|
80
|
+
|
81
|
+
</ul>
|
82
|
+
<a href="#" class="inheritanceTree">show all</a>
|
83
|
+
|
84
|
+
</dd>
|
85
|
+
</dl>
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
<dl>
|
98
|
+
<dt>Defined in:</dt>
|
99
|
+
<dd>lib/tasker/events/subscribers/telemetry_subscriber.rb</dd>
|
100
|
+
</dl>
|
101
|
+
|
102
|
+
</div>
|
103
|
+
|
104
|
+
<h2>Overview</h2><div class="docstring">
|
105
|
+
<div class="discussion">
|
106
|
+
|
107
|
+
<p>TelemetrySubscriber handles telemetry events for observability</p>
|
108
|
+
|
109
|
+
<p>This subscriber creates OpenTelemetry spans with proper hierarchical context for distributed tracing in systems like Jaeger. It follows OpenTelemetry best practices by creating detailed spans for debugging while allowing metrics to be derived from span data.</p>
|
110
|
+
|
111
|
+
<p>Architecture Decision: - SPANS: Individual trace records for detailed debugging (this class) - METRICS: Aggregated data for dashboards/alerts (derived from spans or separate collectors)</p>
|
112
|
+
|
113
|
+
|
114
|
+
</div>
|
115
|
+
</div>
|
116
|
+
<div class="tags">
|
117
|
+
|
118
|
+
|
119
|
+
</div>
|
120
|
+
|
121
|
+
<h2>
|
122
|
+
Constant Summary
|
123
|
+
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
|
124
|
+
</h2>
|
125
|
+
|
126
|
+
<dl class="constants">
|
127
|
+
|
128
|
+
<dt id="EVENT_ANNOTATION_MAP-constant" class="">EVENT_ANNOTATION_MAP =
|
129
|
+
<div class="docstring">
|
130
|
+
<div class="discussion">
|
131
|
+
|
132
|
+
<p>Event type to annotation name mapping</p>
|
133
|
+
|
134
|
+
|
135
|
+
</div>
|
136
|
+
</div>
|
137
|
+
<div class="tags">
|
138
|
+
|
139
|
+
|
140
|
+
</div>
|
141
|
+
</dt>
|
142
|
+
<dd><pre class="code"><span class='lbrace'>{</span>
|
143
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>initialize_requested</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>task.initialize</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
144
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>execution_requested</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>step.queued</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
145
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>retry_requested</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>step.retry</span><span class='tstring_end'>'</span></span>
|
146
|
+
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
|
147
|
+
|
148
|
+
</dl>
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
155
|
+
<ul class="summary">
|
156
|
+
|
157
|
+
<li class="public ">
|
158
|
+
<span class="summary_signature">
|
159
|
+
|
160
|
+
<a href="#tracer-instance_method" title="#tracer (instance method)">#<strong>tracer</strong> ⇒ Object </a>
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
</span>
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
<span class="summary_desc"><div class='inline'>
|
178
|
+
<p>Returns the value of attribute tracer.</p>
|
179
|
+
</div></span>
|
180
|
+
|
181
|
+
</li>
|
182
|
+
|
183
|
+
|
184
|
+
</ul>
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
<h2>
|
191
|
+
Instance Method Summary
|
192
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
193
|
+
</h2>
|
194
|
+
|
195
|
+
<ul class="summary">
|
196
|
+
|
197
|
+
<li class="public ">
|
198
|
+
<span class="summary_signature">
|
199
|
+
|
200
|
+
<a href="#convert_attributes_for_otel-instance_method" title="#convert_attributes_for_otel (instance method)">#<strong>convert_attributes_for_otel</strong>(attributes) ⇒ Hash </a>
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
</span>
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
<span class="summary_desc"><div class='inline'>
|
215
|
+
<p>Convert event attributes to OpenTelemetry format.</p>
|
216
|
+
</div></span>
|
217
|
+
|
218
|
+
</li>
|
219
|
+
|
220
|
+
|
221
|
+
<li class="public ">
|
222
|
+
<span class="summary_signature">
|
223
|
+
|
224
|
+
<a href="#create_simple_span-instance_method" title="#create_simple_span (instance method)">#<strong>create_simple_span</strong>(event, span_name, attributes) ⇒ Object </a>
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
</span>
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
<span class="summary_desc"><div class='inline'>
|
239
|
+
<p>Create a simple span for events that don’t need complex hierarchy.</p>
|
240
|
+
</div></span>
|
241
|
+
|
242
|
+
</li>
|
243
|
+
|
244
|
+
|
245
|
+
<li class="public ">
|
246
|
+
<span class="summary_signature">
|
247
|
+
|
248
|
+
<a href="#create_step_span-instance_method" title="#create_step_span (instance method)">#<strong>create_step_span</strong>(event, span_name, attributes, status) ⇒ Object </a>
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
</span>
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
<span class="summary_desc"><div class='inline'>
|
263
|
+
<p>Create a step span as a child of the task span.</p>
|
264
|
+
</div></span>
|
265
|
+
|
266
|
+
</li>
|
267
|
+
|
268
|
+
|
269
|
+
<li class="public ">
|
270
|
+
<span class="summary_signature">
|
271
|
+
|
272
|
+
<a href="#create_task_span-instance_method" title="#create_task_span (instance method)">#<strong>create_task_span</strong>(event, span_name, attributes) ⇒ Object </a>
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
</span>
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
|
286
|
+
<span class="summary_desc"><div class='inline'>
|
287
|
+
<p>Create a root span for a task and store it for child spans.</p>
|
288
|
+
</div></span>
|
289
|
+
|
290
|
+
</li>
|
291
|
+
|
292
|
+
|
293
|
+
<li class="public ">
|
294
|
+
<span class="summary_signature">
|
295
|
+
|
296
|
+
<a href="#create_tracer-instance_method" title="#create_tracer (instance method)">#<strong>create_tracer</strong> ⇒ OpenTelemetry::Tracer </a>
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
</span>
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
|
310
|
+
<span class="summary_desc"><div class='inline'>
|
311
|
+
<p>Create the OpenTelemetry tracer.</p>
|
312
|
+
</div></span>
|
313
|
+
|
314
|
+
</li>
|
315
|
+
|
316
|
+
|
317
|
+
<li class="public ">
|
318
|
+
<span class="summary_signature">
|
319
|
+
|
320
|
+
<a href="#event_to_annotation_name-instance_method" title="#event_to_annotation_name (instance method)">#<strong>event_to_annotation_name</strong>(event) ⇒ Object </a>
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
</span>
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
<span class="summary_desc"><div class='inline'>
|
335
|
+
<p>Convert event to annotation name.</p>
|
336
|
+
</div></span>
|
337
|
+
|
338
|
+
</li>
|
339
|
+
|
340
|
+
|
341
|
+
<li class="public ">
|
342
|
+
<span class="summary_signature">
|
343
|
+
|
344
|
+
<a href="#extract_step_attributes-instance_method" title="#extract_step_attributes (instance method)">#<strong>extract_step_attributes</strong>(event) ⇒ Object </a>
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
</span>
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
|
358
|
+
<span class="summary_desc"><div class='inline'>
|
359
|
+
<p>Extract step-specific attributes (enhanced from BaseSubscriber).</p>
|
360
|
+
</div></span>
|
361
|
+
|
362
|
+
</li>
|
363
|
+
|
364
|
+
|
365
|
+
<li class="public ">
|
366
|
+
<span class="summary_signature">
|
367
|
+
|
368
|
+
<a href="#finish_task_span-instance_method" title="#finish_task_span (instance method)">#<strong>finish_task_span</strong>(event, status, attributes) ⇒ Object </a>
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
</span>
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
|
382
|
+
<span class="summary_desc"><div class='inline'>
|
383
|
+
<p>Finish a task span with the appropriate status.</p>
|
384
|
+
</div></span>
|
385
|
+
|
386
|
+
</li>
|
387
|
+
|
388
|
+
|
389
|
+
<li class="public ">
|
390
|
+
<span class="summary_signature">
|
391
|
+
|
392
|
+
<a href="#handle_step_completed-instance_method" title="#handle_step_completed (instance method)">#<strong>handle_step_completed</strong>(event) ⇒ Object </a>
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
</span>
|
397
|
+
|
398
|
+
|
399
|
+
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
<span class="summary_desc"><div class='inline'>
|
407
|
+
<p>Handle step completion events.</p>
|
408
|
+
</div></span>
|
409
|
+
|
410
|
+
</li>
|
411
|
+
|
412
|
+
|
413
|
+
<li class="public ">
|
414
|
+
<span class="summary_signature">
|
415
|
+
|
416
|
+
<a href="#handle_step_execution_requested-instance_method" title="#handle_step_execution_requested (instance method)">#<strong>handle_step_execution_requested</strong>(event) ⇒ Object </a>
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
</span>
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
|
430
|
+
<span class="summary_desc"><div class='inline'>
|
431
|
+
<p>Handle step execution requested events.</p>
|
432
|
+
</div></span>
|
433
|
+
|
434
|
+
</li>
|
435
|
+
|
436
|
+
|
437
|
+
<li class="public ">
|
438
|
+
<span class="summary_signature">
|
439
|
+
|
440
|
+
<a href="#handle_step_failed-instance_method" title="#handle_step_failed (instance method)">#<strong>handle_step_failed</strong>(event) ⇒ Object </a>
|
441
|
+
|
442
|
+
|
443
|
+
|
444
|
+
</span>
|
445
|
+
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
|
452
|
+
|
453
|
+
|
454
|
+
<span class="summary_desc"><div class='inline'>
|
455
|
+
<p>Handle step failure events.</p>
|
456
|
+
</div></span>
|
457
|
+
|
458
|
+
</li>
|
459
|
+
|
460
|
+
|
461
|
+
<li class="public ">
|
462
|
+
<span class="summary_signature">
|
463
|
+
|
464
|
+
<a href="#handle_step_retry_requested-instance_method" title="#handle_step_retry_requested (instance method)">#<strong>handle_step_retry_requested</strong>(event) ⇒ Object </a>
|
465
|
+
|
466
|
+
|
467
|
+
|
468
|
+
</span>
|
469
|
+
|
470
|
+
|
471
|
+
|
472
|
+
|
473
|
+
|
474
|
+
|
475
|
+
|
476
|
+
|
477
|
+
|
478
|
+
<span class="summary_desc"><div class='inline'>
|
479
|
+
<p>Handle step retry events.</p>
|
480
|
+
</div></span>
|
481
|
+
|
482
|
+
</li>
|
483
|
+
|
484
|
+
|
485
|
+
<li class="public ">
|
486
|
+
<span class="summary_signature">
|
487
|
+
|
488
|
+
<a href="#handle_task_completed-instance_method" title="#handle_task_completed (instance method)">#<strong>handle_task_completed</strong>(event) ⇒ Object </a>
|
489
|
+
|
490
|
+
|
491
|
+
|
492
|
+
</span>
|
493
|
+
|
494
|
+
|
495
|
+
|
496
|
+
|
497
|
+
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
|
502
|
+
<span class="summary_desc"><div class='inline'>
|
503
|
+
<p>Handle task completion events.</p>
|
504
|
+
</div></span>
|
505
|
+
|
506
|
+
</li>
|
507
|
+
|
508
|
+
|
509
|
+
<li class="public ">
|
510
|
+
<span class="summary_signature">
|
511
|
+
|
512
|
+
<a href="#handle_task_failed-instance_method" title="#handle_task_failed (instance method)">#<strong>handle_task_failed</strong>(event) ⇒ Object </a>
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
</span>
|
517
|
+
|
518
|
+
|
519
|
+
|
520
|
+
|
521
|
+
|
522
|
+
|
523
|
+
|
524
|
+
|
525
|
+
|
526
|
+
<span class="summary_desc"><div class='inline'>
|
527
|
+
<p>Handle task failure events.</p>
|
528
|
+
</div></span>
|
529
|
+
|
530
|
+
</li>
|
531
|
+
|
532
|
+
|
533
|
+
<li class="public ">
|
534
|
+
<span class="summary_signature">
|
535
|
+
|
536
|
+
<a href="#handle_task_initialize_requested-instance_method" title="#handle_task_initialize_requested (instance method)">#<strong>handle_task_initialize_requested</strong>(event) ⇒ Object </a>
|
537
|
+
|
538
|
+
|
539
|
+
|
540
|
+
</span>
|
541
|
+
|
542
|
+
|
543
|
+
|
544
|
+
|
545
|
+
|
546
|
+
|
547
|
+
|
548
|
+
|
549
|
+
|
550
|
+
<span class="summary_desc"><div class='inline'>
|
551
|
+
<p>Handle task initialization events.</p>
|
552
|
+
</div></span>
|
553
|
+
|
554
|
+
</li>
|
555
|
+
|
556
|
+
|
557
|
+
<li class="public ">
|
558
|
+
<span class="summary_signature">
|
559
|
+
|
560
|
+
<a href="#handle_task_start_requested-instance_method" title="#handle_task_start_requested (instance method)">#<strong>handle_task_start_requested</strong>(event) ⇒ Object </a>
|
561
|
+
|
562
|
+
|
563
|
+
|
564
|
+
</span>
|
565
|
+
|
566
|
+
|
567
|
+
|
568
|
+
|
569
|
+
|
570
|
+
|
571
|
+
|
572
|
+
|
573
|
+
|
574
|
+
<span class="summary_desc"><div class='inline'>
|
575
|
+
<p>Handle task start events.</p>
|
576
|
+
</div></span>
|
577
|
+
|
578
|
+
</li>
|
579
|
+
|
580
|
+
|
581
|
+
<li class="public ">
|
582
|
+
<span class="summary_signature">
|
583
|
+
|
584
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> ⇒ TelemetrySubscriber </a>
|
585
|
+
|
586
|
+
|
587
|
+
|
588
|
+
</span>
|
589
|
+
|
590
|
+
|
591
|
+
<span class="note title constructor">constructor</span>
|
592
|
+
|
593
|
+
|
594
|
+
|
595
|
+
|
596
|
+
|
597
|
+
|
598
|
+
|
599
|
+
|
600
|
+
<span class="summary_desc"><div class='inline'>
|
601
|
+
<p>A new instance of TelemetrySubscriber.</p>
|
602
|
+
</div></span>
|
603
|
+
|
604
|
+
</li>
|
605
|
+
|
606
|
+
|
607
|
+
<li class="public ">
|
608
|
+
<span class="summary_signature">
|
609
|
+
|
610
|
+
<a href="#opentelemetry_available%3F-instance_method" title="#opentelemetry_available? (instance method)">#<strong>opentelemetry_available?</strong> ⇒ Boolean </a>
|
611
|
+
|
612
|
+
|
613
|
+
|
614
|
+
</span>
|
615
|
+
|
616
|
+
|
617
|
+
|
618
|
+
|
619
|
+
|
620
|
+
|
621
|
+
|
622
|
+
|
623
|
+
|
624
|
+
<span class="summary_desc"><div class='inline'>
|
625
|
+
<p>Check if OpenTelemetry is available and configured.</p>
|
626
|
+
</div></span>
|
627
|
+
|
628
|
+
</li>
|
629
|
+
|
630
|
+
|
631
|
+
<li class="public ">
|
632
|
+
<span class="summary_signature">
|
633
|
+
|
634
|
+
<a href="#should_process_event%3F-instance_method" title="#should_process_event? (instance method)">#<strong>should_process_event?</strong>(event_constant) ⇒ Boolean </a>
|
635
|
+
|
636
|
+
|
637
|
+
|
638
|
+
</span>
|
639
|
+
|
640
|
+
|
641
|
+
|
642
|
+
|
643
|
+
|
644
|
+
|
645
|
+
|
646
|
+
|
647
|
+
|
648
|
+
<span class="summary_desc"><div class='inline'>
|
649
|
+
<p>Override BaseSubscriber to add telemetry-specific filtering.</p>
|
650
|
+
</div></span>
|
651
|
+
|
652
|
+
</li>
|
653
|
+
|
654
|
+
|
655
|
+
<li class="public ">
|
656
|
+
<span class="summary_signature">
|
657
|
+
|
658
|
+
<a href="#telemetry_enabled%3F-instance_method" title="#telemetry_enabled? (instance method)">#<strong>telemetry_enabled?</strong> ⇒ Boolean </a>
|
659
|
+
|
660
|
+
|
661
|
+
|
662
|
+
</span>
|
663
|
+
|
664
|
+
|
665
|
+
|
666
|
+
|
667
|
+
|
668
|
+
|
669
|
+
|
670
|
+
|
671
|
+
|
672
|
+
<span class="summary_desc"><div class='inline'>
|
673
|
+
<p>Check if telemetry is enabled.</p>
|
674
|
+
</div></span>
|
675
|
+
|
676
|
+
</li>
|
677
|
+
|
678
|
+
|
679
|
+
</ul>
|
680
|
+
|
681
|
+
|
682
|
+
|
683
|
+
|
684
|
+
|
685
|
+
|
686
|
+
|
687
|
+
|
688
|
+
|
689
|
+
|
690
|
+
|
691
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="BaseSubscriber.html" title="Tasker::Events::Subscribers::BaseSubscriber (class)">BaseSubscriber</a></span></h3>
|
692
|
+
<p class="inherited"><span class='object_link'><a href="BaseSubscriber.html#build_event_subscriptions-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#build_event_subscriptions (method)">#build_event_subscriptions</a></span>, <span class='object_link'><a href="BaseSubscriber.html#build_metric_name-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#build_metric_name (method)">#build_metric_name</a></span>, <span class='object_link'><a href="BaseSubscriber.html#custom_event%3F-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#custom_event? (method)">#custom_event?</a></span>, <span class='object_link'><a href="BaseSubscriber.html#event_subscriptions-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#event_subscriptions (method)">#event_subscriptions</a></span>, <span class='object_link'><a href="BaseSubscriber.html#extract_core_attributes-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#extract_core_attributes (method)">#extract_core_attributes</a></span>, <span class='object_link'><a href="BaseSubscriber.html#extract_error_metrics-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#extract_error_metrics (method)">#extract_error_metrics</a></span>, <span class='object_link'><a href="BaseSubscriber.html#extract_metric_tags-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#extract_metric_tags (method)">#extract_metric_tags</a></span>, <span class='object_link'><a href="BaseSubscriber.html#extract_numeric_metric-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#extract_numeric_metric (method)">#extract_numeric_metric</a></span>, <span class='object_link'><a href="BaseSubscriber.html#extract_performance_metrics-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#extract_performance_metrics (method)">#extract_performance_metrics</a></span>, <span class='object_link'><a href="BaseSubscriber.html#extract_timing_metrics-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#extract_timing_metrics (method)">#extract_timing_metrics</a></span>, <span class='object_link'><a href="BaseSubscriber.html#filter_events-class_method" title="Tasker::Events::Subscribers::BaseSubscriber.filter_events (method)">filter_events</a></span>, <span class='object_link'><a href="BaseSubscriber.html#generate_handler_method_name-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#generate_handler_method_name (method)">#generate_handler_method_name</a></span>, <span class='object_link'><a href="BaseSubscriber.html#resolve_internal_event_constant-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#resolve_internal_event_constant (method)">#resolve_internal_event_constant</a></span>, <span class='object_link'><a href="BaseSubscriber.html#safe_get-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#safe_get (method)">#safe_get</a></span>, <span class='object_link'><a href="BaseSubscriber.html#should_handle_event%3F-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#should_handle_event? (method)">#should_handle_event?</a></span>, <span class='object_link'><a href="BaseSubscriber.html#subscribe-class_method" title="Tasker::Events::Subscribers::BaseSubscriber.subscribe (method)">subscribe</a></span>, <span class='object_link'><a href="BaseSubscriber.html#subscribe_to-class_method" title="Tasker::Events::Subscribers::BaseSubscriber.subscribe_to (method)">subscribe_to</a></span>, <span class='object_link'><a href="BaseSubscriber.html#subscribe_to_publisher-instance_method" title="Tasker::Events::Subscribers::BaseSubscriber#subscribe_to_publisher (method)">#subscribe_to_publisher</a></span></p>
|
693
|
+
<div id="constructor_details" class="method_details_list">
|
694
|
+
<h2>Constructor Details</h2>
|
695
|
+
|
696
|
+
<div class="method_details first">
|
697
|
+
<h3 class="signature first" id="initialize-instance_method">
|
698
|
+
|
699
|
+
#<strong>initialize</strong> ⇒ <tt><span class='object_link'><a href="" title="Tasker::Events::Subscribers::TelemetrySubscriber (class)">TelemetrySubscriber</a></span></tt>
|
700
|
+
|
701
|
+
|
702
|
+
|
703
|
+
|
704
|
+
|
705
|
+
</h3><div class="docstring">
|
706
|
+
<div class="discussion">
|
707
|
+
|
708
|
+
<p>Returns a new instance of TelemetrySubscriber.</p>
|
709
|
+
|
710
|
+
|
711
|
+
</div>
|
712
|
+
</div>
|
713
|
+
<div class="tags">
|
714
|
+
|
715
|
+
|
716
|
+
</div><table class="source_code">
|
717
|
+
<tr>
|
718
|
+
<td>
|
719
|
+
<pre class="lines">
|
720
|
+
|
721
|
+
|
722
|
+
32
|
723
|
+
33
|
724
|
+
34
|
725
|
+
35</pre>
|
726
|
+
</td>
|
727
|
+
<td>
|
728
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 32</span>
|
729
|
+
|
730
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
|
731
|
+
<span class='kw'>super</span>
|
732
|
+
<span class='ivar'>@tracer</span> <span class='op'>=</span> <span class='id identifier rubyid_create_tracer'>create_tracer</span>
|
733
|
+
<span class='kw'>end</span></pre>
|
734
|
+
</td>
|
735
|
+
</tr>
|
736
|
+
</table>
|
737
|
+
</div>
|
738
|
+
|
739
|
+
</div>
|
740
|
+
|
741
|
+
<div id="instance_attr_details" class="attr_details">
|
742
|
+
<h2>Instance Attribute Details</h2>
|
743
|
+
|
744
|
+
|
745
|
+
<span id="tracer=-instance_method"></span>
|
746
|
+
<div class="method_details first">
|
747
|
+
<h3 class="signature first" id="tracer-instance_method">
|
748
|
+
|
749
|
+
#<strong>tracer</strong> ⇒ <tt>Object</tt>
|
750
|
+
|
751
|
+
|
752
|
+
|
753
|
+
|
754
|
+
|
755
|
+
</h3><div class="docstring">
|
756
|
+
<div class="discussion">
|
757
|
+
|
758
|
+
<p>Returns the value of attribute tracer.</p>
|
759
|
+
|
760
|
+
|
761
|
+
</div>
|
762
|
+
</div>
|
763
|
+
<div class="tags">
|
764
|
+
|
765
|
+
|
766
|
+
</div><table class="source_code">
|
767
|
+
<tr>
|
768
|
+
<td>
|
769
|
+
<pre class="lines">
|
770
|
+
|
771
|
+
|
772
|
+
20
|
773
|
+
21
|
774
|
+
22</pre>
|
775
|
+
</td>
|
776
|
+
<td>
|
777
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 20</span>
|
778
|
+
|
779
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_tracer'>tracer</span>
|
780
|
+
<span class='ivar'>@tracer</span>
|
781
|
+
<span class='kw'>end</span></pre>
|
782
|
+
</td>
|
783
|
+
</tr>
|
784
|
+
</table>
|
785
|
+
</div>
|
786
|
+
|
787
|
+
</div>
|
788
|
+
|
789
|
+
|
790
|
+
<div id="instance_method_details" class="method_details_list">
|
791
|
+
<h2>Instance Method Details</h2>
|
792
|
+
|
793
|
+
|
794
|
+
<div class="method_details first">
|
795
|
+
<h3 class="signature first" id="convert_attributes_for_otel-instance_method">
|
796
|
+
|
797
|
+
#<strong>convert_attributes_for_otel</strong>(attributes) ⇒ <tt>Hash</tt>
|
798
|
+
|
799
|
+
|
800
|
+
|
801
|
+
|
802
|
+
|
803
|
+
</h3><div class="docstring">
|
804
|
+
<div class="discussion">
|
805
|
+
|
806
|
+
<p>Convert event attributes to OpenTelemetry format</p>
|
807
|
+
|
808
|
+
|
809
|
+
</div>
|
810
|
+
</div>
|
811
|
+
<div class="tags">
|
812
|
+
<p class="tag_title">Parameters:</p>
|
813
|
+
<ul class="param">
|
814
|
+
|
815
|
+
<li>
|
816
|
+
|
817
|
+
<span class='name'>attributes</span>
|
818
|
+
|
819
|
+
|
820
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
821
|
+
|
822
|
+
|
823
|
+
|
824
|
+
—
|
825
|
+
<div class='inline'>
|
826
|
+
<p>The attributes to convert</p>
|
827
|
+
</div>
|
828
|
+
|
829
|
+
</li>
|
830
|
+
|
831
|
+
</ul>
|
832
|
+
|
833
|
+
<p class="tag_title">Returns:</p>
|
834
|
+
<ul class="return">
|
835
|
+
|
836
|
+
<li>
|
837
|
+
|
838
|
+
|
839
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
840
|
+
|
841
|
+
|
842
|
+
|
843
|
+
—
|
844
|
+
<div class='inline'>
|
845
|
+
<p>OpenTelemetry-compatible attributes</p>
|
846
|
+
</div>
|
847
|
+
|
848
|
+
</li>
|
849
|
+
|
850
|
+
</ul>
|
851
|
+
|
852
|
+
</div><table class="source_code">
|
853
|
+
<tr>
|
854
|
+
<td>
|
855
|
+
<pre class="lines">
|
856
|
+
|
857
|
+
|
858
|
+
310
|
859
|
+
311
|
860
|
+
312
|
861
|
+
313
|
862
|
+
314
|
863
|
+
315
|
864
|
+
316
|
865
|
+
317
|
866
|
+
318
|
867
|
+
319
|
868
|
+
320
|
869
|
+
321
|
870
|
+
322
|
871
|
+
323
|
872
|
+
324
|
873
|
+
325
|
874
|
+
326
|
875
|
+
327
|
876
|
+
328
|
877
|
+
329
|
878
|
+
330
|
879
|
+
331
|
880
|
+
332</pre>
|
881
|
+
</td>
|
882
|
+
<td>
|
883
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 310</span>
|
884
|
+
|
885
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_convert_attributes_for_otel'>convert_attributes_for_otel</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
886
|
+
<span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
887
|
+
<span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='period'>.</span><span class='id identifier rubyid_configuration'><span class='object_link'><a href="../../../Tasker.html#configuration-class_method" title="Tasker.configuration (method)">configuration</a></span></span>
|
888
|
+
<span class='id identifier rubyid_service_name'>service_name</span> <span class='op'>=</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_telemetry'>telemetry</span><span class='period'>.</span><span class='id identifier rubyid_service_name'>service_name</span>
|
889
|
+
|
890
|
+
<span class='comment'># Filter sensitive data first
|
891
|
+
</span> <span class='id identifier rubyid_filtered_attributes'>filtered_attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_filter_sensitive_attributes'>filter_sensitive_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
892
|
+
|
893
|
+
<span class='comment'># Ensure attributes are properly formatted for OpenTelemetry
|
894
|
+
</span> <span class='id identifier rubyid_filtered_attributes'>filtered_attributes</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
|
895
|
+
<span class='comment'># Skip exception_object as it can't be properly serialized
|
896
|
+
</span> <span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_key'>key</span> <span class='op'>==</span> <span class='symbol'>:exception_object</span>
|
897
|
+
|
898
|
+
<span class='comment'># Use the configured service name as prefix for all attributes
|
899
|
+
</span> <span class='id identifier rubyid_attr_prefix'>attr_prefix</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_service_name'>service_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span>
|
900
|
+
<span class='id identifier rubyid_attr_key'>attr_key</span> <span class='op'>=</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_start_with?'>start_with?</span><span class='lparen'>(</span><span class='id identifier rubyid_attr_prefix'>attr_prefix</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_attr_prefix'>attr_prefix</span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
901
|
+
|
902
|
+
<span class='comment'># Convert values based on their type
|
903
|
+
</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='id identifier rubyid_attr_key'>attr_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_convert_value_for_otel'>convert_value_for_otel</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
904
|
+
<span class='kw'>end</span>
|
905
|
+
|
906
|
+
<span class='id identifier rubyid_result'>result</span>
|
907
|
+
<span class='kw'>end</span></pre>
|
908
|
+
</td>
|
909
|
+
</tr>
|
910
|
+
</table>
|
911
|
+
</div>
|
912
|
+
|
913
|
+
<div class="method_details ">
|
914
|
+
<h3 class="signature " id="create_simple_span-instance_method">
|
915
|
+
|
916
|
+
#<strong>create_simple_span</strong>(event, span_name, attributes) ⇒ <tt>Object</tt>
|
917
|
+
|
918
|
+
|
919
|
+
|
920
|
+
|
921
|
+
|
922
|
+
</h3><div class="docstring">
|
923
|
+
<div class="discussion">
|
924
|
+
|
925
|
+
<p>Create a simple span for events that don’t need complex hierarchy</p>
|
926
|
+
|
927
|
+
|
928
|
+
</div>
|
929
|
+
</div>
|
930
|
+
<div class="tags">
|
931
|
+
<p class="tag_title">Parameters:</p>
|
932
|
+
<ul class="param">
|
933
|
+
|
934
|
+
<li>
|
935
|
+
|
936
|
+
<span class='name'>event</span>
|
937
|
+
|
938
|
+
|
939
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
940
|
+
|
941
|
+
|
942
|
+
|
943
|
+
—
|
944
|
+
<div class='inline'>
|
945
|
+
<p>The event data</p>
|
946
|
+
</div>
|
947
|
+
|
948
|
+
</li>
|
949
|
+
|
950
|
+
<li>
|
951
|
+
|
952
|
+
<span class='name'>span_name</span>
|
953
|
+
|
954
|
+
|
955
|
+
<span class='type'>(<tt>String</tt>)</span>
|
956
|
+
|
957
|
+
|
958
|
+
|
959
|
+
—
|
960
|
+
<div class='inline'>
|
961
|
+
<p>The name for the span</p>
|
962
|
+
</div>
|
963
|
+
|
964
|
+
</li>
|
965
|
+
|
966
|
+
<li>
|
967
|
+
|
968
|
+
<span class='name'>attributes</span>
|
969
|
+
|
970
|
+
|
971
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
972
|
+
|
973
|
+
|
974
|
+
|
975
|
+
—
|
976
|
+
<div class='inline'>
|
977
|
+
<p>Span attributes</p>
|
978
|
+
</div>
|
979
|
+
|
980
|
+
</li>
|
981
|
+
|
982
|
+
</ul>
|
983
|
+
|
984
|
+
|
985
|
+
</div><table class="source_code">
|
986
|
+
<tr>
|
987
|
+
<td>
|
988
|
+
<pre class="lines">
|
989
|
+
|
990
|
+
|
991
|
+
174
|
992
|
+
175
|
993
|
+
176
|
994
|
+
177
|
995
|
+
178
|
996
|
+
179
|
997
|
+
180
|
998
|
+
181
|
999
|
+
182
|
1000
|
+
183
|
1001
|
+
184
|
1002
|
+
185</pre>
|
1003
|
+
</td>
|
1004
|
+
<td>
|
1005
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 174</span>
|
1006
|
+
|
1007
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_create_simple_span'>create_simple_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='id identifier rubyid_span_name'>span_name</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1008
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_opentelemetry_available?'>opentelemetry_available?</span>
|
1009
|
+
|
1010
|
+
<span class='id identifier rubyid_otel_attributes'>otel_attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_convert_attributes_for_otel'>convert_attributes_for_otel</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1011
|
+
|
1012
|
+
<span class='id identifier rubyid_tracer'>tracer</span><span class='period'>.</span><span class='id identifier rubyid_in_span'>in_span</span><span class='lparen'>(</span><span class='id identifier rubyid_span_name'>span_name</span><span class='comma'>,</span> <span class='label'>attributes:</span> <span class='id identifier rubyid_otel_attributes'>otel_attributes</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_span'>span</span><span class='op'>|</span>
|
1013
|
+
<span class='comment'># Add event annotation
|
1014
|
+
</span> <span class='id identifier rubyid_span'>span</span><span class='period'>.</span><span class='id identifier rubyid_add_event'>add_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_to_annotation_name'>event_to_annotation_name</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>attributes:</span> <span class='id identifier rubyid_otel_attributes'>otel_attributes</span><span class='rparen'>)</span>
|
1015
|
+
<span class='kw'>end</span>
|
1016
|
+
<span class='kw'>rescue</span> <span class='const'>StandardError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1017
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Failed to create simple span: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1018
|
+
<span class='kw'>end</span></pre>
|
1019
|
+
</td>
|
1020
|
+
</tr>
|
1021
|
+
</table>
|
1022
|
+
</div>
|
1023
|
+
|
1024
|
+
<div class="method_details ">
|
1025
|
+
<h3 class="signature " id="create_step_span-instance_method">
|
1026
|
+
|
1027
|
+
#<strong>create_step_span</strong>(event, span_name, attributes, status) ⇒ <tt>Object</tt>
|
1028
|
+
|
1029
|
+
|
1030
|
+
|
1031
|
+
|
1032
|
+
|
1033
|
+
</h3><div class="docstring">
|
1034
|
+
<div class="discussion">
|
1035
|
+
|
1036
|
+
<p>Create a step span as a child of the task span</p>
|
1037
|
+
|
1038
|
+
|
1039
|
+
</div>
|
1040
|
+
</div>
|
1041
|
+
<div class="tags">
|
1042
|
+
<p class="tag_title">Parameters:</p>
|
1043
|
+
<ul class="param">
|
1044
|
+
|
1045
|
+
<li>
|
1046
|
+
|
1047
|
+
<span class='name'>event</span>
|
1048
|
+
|
1049
|
+
|
1050
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1051
|
+
|
1052
|
+
|
1053
|
+
|
1054
|
+
—
|
1055
|
+
<div class='inline'>
|
1056
|
+
<p>The event data</p>
|
1057
|
+
</div>
|
1058
|
+
|
1059
|
+
</li>
|
1060
|
+
|
1061
|
+
<li>
|
1062
|
+
|
1063
|
+
<span class='name'>span_name</span>
|
1064
|
+
|
1065
|
+
|
1066
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1067
|
+
|
1068
|
+
|
1069
|
+
|
1070
|
+
—
|
1071
|
+
<div class='inline'>
|
1072
|
+
<p>The name for the span</p>
|
1073
|
+
</div>
|
1074
|
+
|
1075
|
+
</li>
|
1076
|
+
|
1077
|
+
<li>
|
1078
|
+
|
1079
|
+
<span class='name'>attributes</span>
|
1080
|
+
|
1081
|
+
|
1082
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1083
|
+
|
1084
|
+
|
1085
|
+
|
1086
|
+
—
|
1087
|
+
<div class='inline'>
|
1088
|
+
<p>Span attributes</p>
|
1089
|
+
</div>
|
1090
|
+
|
1091
|
+
</li>
|
1092
|
+
|
1093
|
+
<li>
|
1094
|
+
|
1095
|
+
<span class='name'>status</span>
|
1096
|
+
|
1097
|
+
|
1098
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
1099
|
+
|
1100
|
+
|
1101
|
+
|
1102
|
+
—
|
1103
|
+
<div class='inline'>
|
1104
|
+
<p>The span status (:ok or :error)</p>
|
1105
|
+
</div>
|
1106
|
+
|
1107
|
+
</li>
|
1108
|
+
|
1109
|
+
</ul>
|
1110
|
+
|
1111
|
+
|
1112
|
+
</div><table class="source_code">
|
1113
|
+
<tr>
|
1114
|
+
<td>
|
1115
|
+
<pre class="lines">
|
1116
|
+
|
1117
|
+
|
1118
|
+
245
|
1119
|
+
246
|
1120
|
+
247
|
1121
|
+
248
|
1122
|
+
249
|
1123
|
+
250
|
1124
|
+
251
|
1125
|
+
252
|
1126
|
+
253
|
1127
|
+
254
|
1128
|
+
255
|
1129
|
+
256
|
1130
|
+
257
|
1131
|
+
258
|
1132
|
+
259
|
1133
|
+
260
|
1134
|
+
261
|
1135
|
+
262
|
1136
|
+
263
|
1137
|
+
264
|
1138
|
+
265
|
1139
|
+
266
|
1140
|
+
267
|
1141
|
+
268
|
1142
|
+
269
|
1143
|
+
270
|
1144
|
+
271
|
1145
|
+
272</pre>
|
1146
|
+
</td>
|
1147
|
+
<td>
|
1148
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 245</span>
|
1149
|
+
|
1150
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_create_step_span'>create_step_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='id identifier rubyid_span_name'>span_name</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='comma'>,</span> <span class='id identifier rubyid_status'>status</span><span class='rparen'>)</span>
|
1151
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_opentelemetry_available?'>opentelemetry_available?</span>
|
1152
|
+
|
1153
|
+
<span class='id identifier rubyid_task_id'>task_id</span> <span class='op'>=</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:task_id</span><span class='rparen'>)</span>
|
1154
|
+
<span class='id identifier rubyid_step_id'>step_id</span> <span class='op'>=</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:step_id</span><span class='rparen'>)</span>
|
1155
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_task_id'>task_id</span> <span class='op'>&&</span> <span class='id identifier rubyid_step_id'>step_id</span>
|
1156
|
+
|
1157
|
+
<span class='id identifier rubyid_task_span'>task_span</span> <span class='op'>=</span> <span class='id identifier rubyid_get_task_span'>get_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_task_id'>task_id</span><span class='rparen'>)</span>
|
1158
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_task_span'>task_span</span>
|
1159
|
+
|
1160
|
+
<span class='id identifier rubyid_otel_attributes'>otel_attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_convert_attributes_for_otel'>convert_attributes_for_otel</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1161
|
+
|
1162
|
+
<span class='comment'># Create child span context
|
1163
|
+
</span> <span class='id identifier rubyid_span_context'>span_context</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>OpenTelemetry</span><span class='op'>::</span><span class='const'>Trace</span><span class='period'>.</span><span class='id identifier rubyid_context_with_span'>context_with_span</span><span class='lparen'>(</span><span class='id identifier rubyid_task_span'>task_span</span><span class='rparen'>)</span>
|
1164
|
+
|
1165
|
+
<span class='op'>::</span><span class='const'>OpenTelemetry</span><span class='op'>::</span><span class='const'>Context</span><span class='period'>.</span><span class='id identifier rubyid_with_current'>with_current</span><span class='lparen'>(</span><span class='id identifier rubyid_span_context'>span_context</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
1166
|
+
<span class='id identifier rubyid_tracer'>tracer</span><span class='period'>.</span><span class='id identifier rubyid_in_span'>in_span</span><span class='lparen'>(</span><span class='id identifier rubyid_span_name'>span_name</span><span class='comma'>,</span> <span class='label'>attributes:</span> <span class='id identifier rubyid_otel_attributes'>otel_attributes</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_step_span'>step_span</span><span class='op'>|</span>
|
1167
|
+
<span class='comment'># Add step event
|
1168
|
+
</span> <span class='id identifier rubyid_event_name'>event_name</span> <span class='op'>=</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>==</span> <span class='symbol'>:error</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>step.failed</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>step.completed</span><span class='tstring_end'>'</span></span>
|
1169
|
+
<span class='id identifier rubyid_step_span'>step_span</span><span class='period'>.</span><span class='id identifier rubyid_add_event'>add_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='label'>attributes:</span> <span class='id identifier rubyid_otel_attributes'>otel_attributes</span><span class='rparen'>)</span>
|
1170
|
+
|
1171
|
+
<span class='comment'># Set span status
|
1172
|
+
</span> <span class='id identifier rubyid_set_span_status'>set_span_status</span><span class='lparen'>(</span><span class='id identifier rubyid_step_span'>step_span</span><span class='comma'>,</span> <span class='id identifier rubyid_status'>status</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1173
|
+
<span class='kw'>end</span>
|
1174
|
+
<span class='kw'>end</span>
|
1175
|
+
<span class='kw'>rescue</span> <span class='const'>StandardError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1176
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Failed to create step span: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1177
|
+
<span class='kw'>end</span></pre>
|
1178
|
+
</td>
|
1179
|
+
</tr>
|
1180
|
+
</table>
|
1181
|
+
</div>
|
1182
|
+
|
1183
|
+
<div class="method_details ">
|
1184
|
+
<h3 class="signature " id="create_task_span-instance_method">
|
1185
|
+
|
1186
|
+
#<strong>create_task_span</strong>(event, span_name, attributes) ⇒ <tt>Object</tt>
|
1187
|
+
|
1188
|
+
|
1189
|
+
|
1190
|
+
|
1191
|
+
|
1192
|
+
</h3><div class="docstring">
|
1193
|
+
<div class="discussion">
|
1194
|
+
|
1195
|
+
<p>Create a root span for a task and store it for child spans</p>
|
1196
|
+
|
1197
|
+
|
1198
|
+
</div>
|
1199
|
+
</div>
|
1200
|
+
<div class="tags">
|
1201
|
+
<p class="tag_title">Parameters:</p>
|
1202
|
+
<ul class="param">
|
1203
|
+
|
1204
|
+
<li>
|
1205
|
+
|
1206
|
+
<span class='name'>event</span>
|
1207
|
+
|
1208
|
+
|
1209
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1210
|
+
|
1211
|
+
|
1212
|
+
|
1213
|
+
—
|
1214
|
+
<div class='inline'>
|
1215
|
+
<p>The event data</p>
|
1216
|
+
</div>
|
1217
|
+
|
1218
|
+
</li>
|
1219
|
+
|
1220
|
+
<li>
|
1221
|
+
|
1222
|
+
<span class='name'>span_name</span>
|
1223
|
+
|
1224
|
+
|
1225
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1226
|
+
|
1227
|
+
|
1228
|
+
|
1229
|
+
—
|
1230
|
+
<div class='inline'>
|
1231
|
+
<p>The name for the span</p>
|
1232
|
+
</div>
|
1233
|
+
|
1234
|
+
</li>
|
1235
|
+
|
1236
|
+
<li>
|
1237
|
+
|
1238
|
+
<span class='name'>attributes</span>
|
1239
|
+
|
1240
|
+
|
1241
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1242
|
+
|
1243
|
+
|
1244
|
+
|
1245
|
+
—
|
1246
|
+
<div class='inline'>
|
1247
|
+
<p>Span attributes</p>
|
1248
|
+
</div>
|
1249
|
+
|
1250
|
+
</li>
|
1251
|
+
|
1252
|
+
</ul>
|
1253
|
+
|
1254
|
+
|
1255
|
+
</div><table class="source_code">
|
1256
|
+
<tr>
|
1257
|
+
<td>
|
1258
|
+
<pre class="lines">
|
1259
|
+
|
1260
|
+
|
1261
|
+
192
|
1262
|
+
193
|
1263
|
+
194
|
1264
|
+
195
|
1265
|
+
196
|
1266
|
+
197
|
1267
|
+
198
|
1268
|
+
199
|
1269
|
+
200
|
1270
|
+
201
|
1271
|
+
202
|
1272
|
+
203
|
1273
|
+
204
|
1274
|
+
205
|
1275
|
+
206
|
1276
|
+
207</pre>
|
1277
|
+
</td>
|
1278
|
+
<td>
|
1279
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 192</span>
|
1280
|
+
|
1281
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_create_task_span'>create_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='id identifier rubyid_span_name'>span_name</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1282
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_opentelemetry_available?'>opentelemetry_available?</span>
|
1283
|
+
|
1284
|
+
<span class='id identifier rubyid_task_id'>task_id</span> <span class='op'>=</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:task_id</span><span class='rparen'>)</span>
|
1285
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_task_id'>task_id</span>
|
1286
|
+
|
1287
|
+
<span class='id identifier rubyid_otel_attributes'>otel_attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_convert_attributes_for_otel'>convert_attributes_for_otel</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1288
|
+
|
1289
|
+
<span class='id identifier rubyid_span'>span</span> <span class='op'>=</span> <span class='id identifier rubyid_tracer'>tracer</span><span class='period'>.</span><span class='id identifier rubyid_start_root_span'>start_root_span</span><span class='lparen'>(</span><span class='id identifier rubyid_span_name'>span_name</span><span class='comma'>,</span> <span class='label'>attributes:</span> <span class='id identifier rubyid_otel_attributes'>otel_attributes</span><span class='rparen'>)</span>
|
1290
|
+
<span class='id identifier rubyid_store_task_span'>store_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_task_id'>task_id</span><span class='comma'>,</span> <span class='id identifier rubyid_span'>span</span><span class='rparen'>)</span>
|
1291
|
+
|
1292
|
+
<span class='comment'># Add an event to mark the task start
|
1293
|
+
</span> <span class='id identifier rubyid_span'>span</span><span class='period'>.</span><span class='id identifier rubyid_add_event'>add_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>task.started</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>attributes:</span> <span class='id identifier rubyid_otel_attributes'>otel_attributes</span><span class='rparen'>)</span>
|
1294
|
+
<span class='kw'>rescue</span> <span class='const'>StandardError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1295
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Failed to create task span: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1296
|
+
<span class='kw'>end</span></pre>
|
1297
|
+
</td>
|
1298
|
+
</tr>
|
1299
|
+
</table>
|
1300
|
+
</div>
|
1301
|
+
|
1302
|
+
<div class="method_details ">
|
1303
|
+
<h3 class="signature " id="create_tracer-instance_method">
|
1304
|
+
|
1305
|
+
#<strong>create_tracer</strong> ⇒ <tt>OpenTelemetry::Tracer</tt>
|
1306
|
+
|
1307
|
+
|
1308
|
+
|
1309
|
+
|
1310
|
+
|
1311
|
+
</h3><div class="docstring">
|
1312
|
+
<div class="discussion">
|
1313
|
+
|
1314
|
+
<p>Create the OpenTelemetry tracer</p>
|
1315
|
+
|
1316
|
+
|
1317
|
+
</div>
|
1318
|
+
</div>
|
1319
|
+
<div class="tags">
|
1320
|
+
|
1321
|
+
<p class="tag_title">Returns:</p>
|
1322
|
+
<ul class="return">
|
1323
|
+
|
1324
|
+
<li>
|
1325
|
+
|
1326
|
+
|
1327
|
+
<span class='type'>(<tt>OpenTelemetry::Tracer</tt>)</span>
|
1328
|
+
|
1329
|
+
|
1330
|
+
|
1331
|
+
—
|
1332
|
+
<div class='inline'>
|
1333
|
+
<p>The tracer instance</p>
|
1334
|
+
</div>
|
1335
|
+
|
1336
|
+
</li>
|
1337
|
+
|
1338
|
+
</ul>
|
1339
|
+
|
1340
|
+
</div><table class="source_code">
|
1341
|
+
<tr>
|
1342
|
+
<td>
|
1343
|
+
<pre class="lines">
|
1344
|
+
|
1345
|
+
|
1346
|
+
298
|
1347
|
+
299
|
1348
|
+
300
|
1349
|
+
301
|
1350
|
+
302
|
1351
|
+
303
|
1352
|
+
304</pre>
|
1353
|
+
</td>
|
1354
|
+
<td>
|
1355
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 298</span>
|
1356
|
+
|
1357
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_create_tracer'>create_tracer</span>
|
1358
|
+
<span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='period'>.</span><span class='id identifier rubyid_configuration'><span class='object_link'><a href="../../../Tasker.html#configuration-class_method" title="Tasker.configuration (method)">configuration</a></span></span>
|
1359
|
+
<span class='op'>::</span><span class='const'>OpenTelemetry</span><span class='period'>.</span><span class='id identifier rubyid_tracer_provider'>tracer_provider</span><span class='period'>.</span><span class='id identifier rubyid_tracer'>tracer</span><span class='lparen'>(</span>
|
1360
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_telemetry'>telemetry</span><span class='period'>.</span><span class='id identifier rubyid_service_name'>service_name</span><span class='comma'>,</span>
|
1361
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_telemetry'>telemetry</span><span class='period'>.</span><span class='id identifier rubyid_service_version'>service_version</span>
|
1362
|
+
<span class='rparen'>)</span>
|
1363
|
+
<span class='kw'>end</span></pre>
|
1364
|
+
</td>
|
1365
|
+
</tr>
|
1366
|
+
</table>
|
1367
|
+
</div>
|
1368
|
+
|
1369
|
+
<div class="method_details ">
|
1370
|
+
<h3 class="signature " id="event_to_annotation_name-instance_method">
|
1371
|
+
|
1372
|
+
#<strong>event_to_annotation_name</strong>(event) ⇒ <tt>Object</tt>
|
1373
|
+
|
1374
|
+
|
1375
|
+
|
1376
|
+
|
1377
|
+
|
1378
|
+
</h3><div class="docstring">
|
1379
|
+
<div class="discussion">
|
1380
|
+
|
1381
|
+
<p>Convert event to annotation name</p>
|
1382
|
+
|
1383
|
+
|
1384
|
+
</div>
|
1385
|
+
</div>
|
1386
|
+
<div class="tags">
|
1387
|
+
|
1388
|
+
|
1389
|
+
</div><table class="source_code">
|
1390
|
+
<tr>
|
1391
|
+
<td>
|
1392
|
+
<pre class="lines">
|
1393
|
+
|
1394
|
+
|
1395
|
+
282
|
1396
|
+
283
|
1397
|
+
284
|
1398
|
+
285
|
1399
|
+
286</pre>
|
1400
|
+
</td>
|
1401
|
+
<td>
|
1402
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 282</span>
|
1403
|
+
|
1404
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_event_to_annotation_name'>event_to_annotation_name</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1405
|
+
<span class='comment'># Simple mapping from event to annotation
|
1406
|
+
</span> <span class='id identifier rubyid_event_type'>event_type</span> <span class='op'>=</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:event_type</span><span class='rparen'>)</span>
|
1407
|
+
<span class='const'><span class='object_link'><a href="#EVENT_ANNOTATION_MAP-constant" title="Tasker::Events::Subscribers::TelemetrySubscriber::EVENT_ANNOTATION_MAP (constant)">EVENT_ANNOTATION_MAP</a></span></span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_event_type'>event_type</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>event.processed</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
1408
|
+
<span class='kw'>end</span></pre>
|
1409
|
+
</td>
|
1410
|
+
</tr>
|
1411
|
+
</table>
|
1412
|
+
</div>
|
1413
|
+
|
1414
|
+
<div class="method_details ">
|
1415
|
+
<h3 class="signature " id="extract_step_attributes-instance_method">
|
1416
|
+
|
1417
|
+
#<strong>extract_step_attributes</strong>(event) ⇒ <tt>Object</tt>
|
1418
|
+
|
1419
|
+
|
1420
|
+
|
1421
|
+
|
1422
|
+
|
1423
|
+
</h3><div class="docstring">
|
1424
|
+
<div class="discussion">
|
1425
|
+
|
1426
|
+
<p>Extract step-specific attributes (enhanced from BaseSubscriber)</p>
|
1427
|
+
|
1428
|
+
|
1429
|
+
</div>
|
1430
|
+
</div>
|
1431
|
+
<div class="tags">
|
1432
|
+
|
1433
|
+
|
1434
|
+
</div><table class="source_code">
|
1435
|
+
<tr>
|
1436
|
+
<td>
|
1437
|
+
<pre class="lines">
|
1438
|
+
|
1439
|
+
|
1440
|
+
158
|
1441
|
+
159
|
1442
|
+
160
|
1443
|
+
161
|
1444
|
+
162</pre>
|
1445
|
+
</td>
|
1446
|
+
<td>
|
1447
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 158</span>
|
1448
|
+
|
1449
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_extract_step_attributes'>extract_step_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1450
|
+
<span class='kw'>super</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
1451
|
+
<span class='label'>step_name:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:step_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unknown_step</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
1452
|
+
<span class='rparen'>)</span>
|
1453
|
+
<span class='kw'>end</span></pre>
|
1454
|
+
</td>
|
1455
|
+
</tr>
|
1456
|
+
</table>
|
1457
|
+
</div>
|
1458
|
+
|
1459
|
+
<div class="method_details ">
|
1460
|
+
<h3 class="signature " id="finish_task_span-instance_method">
|
1461
|
+
|
1462
|
+
#<strong>finish_task_span</strong>(event, status, attributes) ⇒ <tt>Object</tt>
|
1463
|
+
|
1464
|
+
|
1465
|
+
|
1466
|
+
|
1467
|
+
|
1468
|
+
</h3><div class="docstring">
|
1469
|
+
<div class="discussion">
|
1470
|
+
|
1471
|
+
<p>Finish a task span with the appropriate status</p>
|
1472
|
+
|
1473
|
+
|
1474
|
+
</div>
|
1475
|
+
</div>
|
1476
|
+
<div class="tags">
|
1477
|
+
<p class="tag_title">Parameters:</p>
|
1478
|
+
<ul class="param">
|
1479
|
+
|
1480
|
+
<li>
|
1481
|
+
|
1482
|
+
<span class='name'>event</span>
|
1483
|
+
|
1484
|
+
|
1485
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1486
|
+
|
1487
|
+
|
1488
|
+
|
1489
|
+
—
|
1490
|
+
<div class='inline'>
|
1491
|
+
<p>The event data</p>
|
1492
|
+
</div>
|
1493
|
+
|
1494
|
+
</li>
|
1495
|
+
|
1496
|
+
<li>
|
1497
|
+
|
1498
|
+
<span class='name'>status</span>
|
1499
|
+
|
1500
|
+
|
1501
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
1502
|
+
|
1503
|
+
|
1504
|
+
|
1505
|
+
—
|
1506
|
+
<div class='inline'>
|
1507
|
+
<p>The span status (:ok or :error)</p>
|
1508
|
+
</div>
|
1509
|
+
|
1510
|
+
</li>
|
1511
|
+
|
1512
|
+
<li>
|
1513
|
+
|
1514
|
+
<span class='name'>attributes</span>
|
1515
|
+
|
1516
|
+
|
1517
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1518
|
+
|
1519
|
+
|
1520
|
+
|
1521
|
+
—
|
1522
|
+
<div class='inline'>
|
1523
|
+
<p>Final span attributes</p>
|
1524
|
+
</div>
|
1525
|
+
|
1526
|
+
</li>
|
1527
|
+
|
1528
|
+
</ul>
|
1529
|
+
|
1530
|
+
|
1531
|
+
</div><table class="source_code">
|
1532
|
+
<tr>
|
1533
|
+
<td>
|
1534
|
+
<pre class="lines">
|
1535
|
+
|
1536
|
+
|
1537
|
+
214
|
1538
|
+
215
|
1539
|
+
216
|
1540
|
+
217
|
1541
|
+
218
|
1542
|
+
219
|
1543
|
+
220
|
1544
|
+
221
|
1545
|
+
222
|
1546
|
+
223
|
1547
|
+
224
|
1548
|
+
225
|
1549
|
+
226
|
1550
|
+
227
|
1551
|
+
228
|
1552
|
+
229
|
1553
|
+
230
|
1554
|
+
231
|
1555
|
+
232
|
1556
|
+
233
|
1557
|
+
234
|
1558
|
+
235
|
1559
|
+
236
|
1560
|
+
237</pre>
|
1561
|
+
</td>
|
1562
|
+
<td>
|
1563
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 214</span>
|
1564
|
+
|
1565
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_finish_task_span'>finish_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='id identifier rubyid_status'>status</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1566
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_opentelemetry_available?'>opentelemetry_available?</span>
|
1567
|
+
|
1568
|
+
<span class='id identifier rubyid_task_id'>task_id</span> <span class='op'>=</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:task_id</span><span class='rparen'>)</span>
|
1569
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_task_id'>task_id</span>
|
1570
|
+
|
1571
|
+
<span class='id identifier rubyid_span'>span</span> <span class='op'>=</span> <span class='id identifier rubyid_get_task_span'>get_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_task_id'>task_id</span><span class='rparen'>)</span>
|
1572
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_span'>span</span>
|
1573
|
+
|
1574
|
+
<span class='id identifier rubyid_otel_attributes'>otel_attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_convert_attributes_for_otel'>convert_attributes_for_otel</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1575
|
+
|
1576
|
+
<span class='comment'># Add completion event
|
1577
|
+
</span> <span class='id identifier rubyid_event_name'>event_name</span> <span class='op'>=</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>==</span> <span class='symbol'>:error</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>task.failed</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>task.completed</span><span class='tstring_end'>'</span></span>
|
1578
|
+
<span class='id identifier rubyid_span'>span</span><span class='period'>.</span><span class='id identifier rubyid_add_event'>add_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='label'>attributes:</span> <span class='id identifier rubyid_otel_attributes'>otel_attributes</span><span class='rparen'>)</span>
|
1579
|
+
|
1580
|
+
<span class='comment'># Set span status
|
1581
|
+
</span> <span class='id identifier rubyid_set_span_status'>set_span_status</span><span class='lparen'>(</span><span class='id identifier rubyid_span'>span</span><span class='comma'>,</span> <span class='id identifier rubyid_status'>status</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1582
|
+
|
1583
|
+
<span class='comment'># Finish the span
|
1584
|
+
</span> <span class='id identifier rubyid_span'>span</span><span class='period'>.</span><span class='id identifier rubyid_finish'>finish</span>
|
1585
|
+
<span class='id identifier rubyid_remove_task_span'>remove_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_task_id'>task_id</span><span class='rparen'>)</span>
|
1586
|
+
<span class='kw'>rescue</span> <span class='const'>StandardError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1587
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Failed to finish task span: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1588
|
+
<span class='kw'>end</span></pre>
|
1589
|
+
</td>
|
1590
|
+
</tr>
|
1591
|
+
</table>
|
1592
|
+
</div>
|
1593
|
+
|
1594
|
+
<div class="method_details ">
|
1595
|
+
<h3 class="signature " id="handle_step_completed-instance_method">
|
1596
|
+
|
1597
|
+
#<strong>handle_step_completed</strong>(event) ⇒ <tt>Object</tt>
|
1598
|
+
|
1599
|
+
|
1600
|
+
|
1601
|
+
|
1602
|
+
|
1603
|
+
</h3><div class="docstring">
|
1604
|
+
<div class="discussion">
|
1605
|
+
|
1606
|
+
<p>Handle step completion events</p>
|
1607
|
+
|
1608
|
+
|
1609
|
+
</div>
|
1610
|
+
</div>
|
1611
|
+
<div class="tags">
|
1612
|
+
|
1613
|
+
|
1614
|
+
</div><table class="source_code">
|
1615
|
+
<tr>
|
1616
|
+
<td>
|
1617
|
+
<pre class="lines">
|
1618
|
+
|
1619
|
+
|
1620
|
+
106
|
1621
|
+
107
|
1622
|
+
108
|
1623
|
+
109
|
1624
|
+
110
|
1625
|
+
111
|
1626
|
+
112
|
1627
|
+
113
|
1628
|
+
114
|
1629
|
+
115
|
1630
|
+
116</pre>
|
1631
|
+
</td>
|
1632
|
+
<td>
|
1633
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 106</span>
|
1634
|
+
|
1635
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_step_completed'>handle_step_completed</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1636
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</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="../../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/StepEvents.html" title="Tasker::Constants::StepEvents (module)">StepEvents</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/StepEvents.html#COMPLETED-constant" title="Tasker::Constants::StepEvents::COMPLETED (constant)">COMPLETED</a></span></span><span class='rparen'>)</span>
|
1637
|
+
|
1638
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_step_attributes'>extract_step_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
1639
|
+
<span class='label'>execution_duration:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:execution_duration</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1640
|
+
<span class='label'>attempt_number:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:attempt_number</span><span class='comma'>,</span> <span class='int'>1</span><span class='rparen'>)</span>
|
1641
|
+
<span class='rparen'>)</span>
|
1642
|
+
|
1643
|
+
<span class='comment'># Create step span as child of task span
|
1644
|
+
</span> <span class='id identifier rubyid_create_step_span'>create_step_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tasker.step.execution</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='comma'>,</span> <span class='symbol'>:ok</span><span class='rparen'>)</span>
|
1645
|
+
<span class='kw'>end</span></pre>
|
1646
|
+
</td>
|
1647
|
+
</tr>
|
1648
|
+
</table>
|
1649
|
+
</div>
|
1650
|
+
|
1651
|
+
<div class="method_details ">
|
1652
|
+
<h3 class="signature " id="handle_step_execution_requested-instance_method">
|
1653
|
+
|
1654
|
+
#<strong>handle_step_execution_requested</strong>(event) ⇒ <tt>Object</tt>
|
1655
|
+
|
1656
|
+
|
1657
|
+
|
1658
|
+
|
1659
|
+
|
1660
|
+
</h3><div class="docstring">
|
1661
|
+
<div class="discussion">
|
1662
|
+
|
1663
|
+
<p>Handle step execution requested events</p>
|
1664
|
+
|
1665
|
+
|
1666
|
+
</div>
|
1667
|
+
</div>
|
1668
|
+
<div class="tags">
|
1669
|
+
|
1670
|
+
|
1671
|
+
</div><table class="source_code">
|
1672
|
+
<tr>
|
1673
|
+
<td>
|
1674
|
+
<pre class="lines">
|
1675
|
+
|
1676
|
+
|
1677
|
+
94
|
1678
|
+
95
|
1679
|
+
96
|
1680
|
+
97
|
1681
|
+
98
|
1682
|
+
99
|
1683
|
+
100
|
1684
|
+
101
|
1685
|
+
102
|
1686
|
+
103</pre>
|
1687
|
+
</td>
|
1688
|
+
<td>
|
1689
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 94</span>
|
1690
|
+
|
1691
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_step_execution_requested'>handle_step_execution_requested</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1692
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</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="../../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/StepEvents.html" title="Tasker::Constants::StepEvents (module)">StepEvents</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/StepEvents.html#EXECUTION_REQUESTED-constant" title="Tasker::Constants::StepEvents::EXECUTION_REQUESTED (constant)">EXECUTION_REQUESTED</a></span></span><span class='rparen'>)</span>
|
1693
|
+
|
1694
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_step_attributes'>extract_step_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
1695
|
+
<span class='label'>attempt_number:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:attempt_number</span><span class='comma'>,</span> <span class='int'>1</span><span class='rparen'>)</span>
|
1696
|
+
<span class='rparen'>)</span>
|
1697
|
+
|
1698
|
+
<span class='comment'># Create a simple span for step queuing
|
1699
|
+
</span> <span class='id identifier rubyid_create_simple_span'>create_simple_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tasker.step.queued</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1700
|
+
<span class='kw'>end</span></pre>
|
1701
|
+
</td>
|
1702
|
+
</tr>
|
1703
|
+
</table>
|
1704
|
+
</div>
|
1705
|
+
|
1706
|
+
<div class="method_details ">
|
1707
|
+
<h3 class="signature " id="handle_step_failed-instance_method">
|
1708
|
+
|
1709
|
+
#<strong>handle_step_failed</strong>(event) ⇒ <tt>Object</tt>
|
1710
|
+
|
1711
|
+
|
1712
|
+
|
1713
|
+
|
1714
|
+
|
1715
|
+
</h3><div class="docstring">
|
1716
|
+
<div class="discussion">
|
1717
|
+
|
1718
|
+
<p>Handle step failure events</p>
|
1719
|
+
|
1720
|
+
|
1721
|
+
</div>
|
1722
|
+
</div>
|
1723
|
+
<div class="tags">
|
1724
|
+
|
1725
|
+
|
1726
|
+
</div><table class="source_code">
|
1727
|
+
<tr>
|
1728
|
+
<td>
|
1729
|
+
<pre class="lines">
|
1730
|
+
|
1731
|
+
|
1732
|
+
119
|
1733
|
+
120
|
1734
|
+
121
|
1735
|
+
122
|
1736
|
+
123
|
1737
|
+
124
|
1738
|
+
125
|
1739
|
+
126
|
1740
|
+
127
|
1741
|
+
128
|
1742
|
+
129
|
1743
|
+
130
|
1744
|
+
131</pre>
|
1745
|
+
</td>
|
1746
|
+
<td>
|
1747
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 119</span>
|
1748
|
+
|
1749
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_step_failed'>handle_step_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1750
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</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="../../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/StepEvents.html" title="Tasker::Constants::StepEvents (module)">StepEvents</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/StepEvents.html#FAILED-constant" title="Tasker::Constants::StepEvents::FAILED (constant)">FAILED</a></span></span><span class='rparen'>)</span>
|
1751
|
+
|
1752
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_step_attributes'>extract_step_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
1753
|
+
<span class='label'>error:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:error_message</span><span class='comma'>,</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown error</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1754
|
+
<span class='label'>attempt_number:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:attempt_number</span><span class='comma'>,</span> <span class='int'>1</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1755
|
+
<span class='label'>exception_class:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:exception_class</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>StandardError</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
1756
|
+
<span class='label'>retry_limit:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:retry_limit</span><span class='comma'>,</span> <span class='int'>3</span><span class='rparen'>)</span>
|
1757
|
+
<span class='rparen'>)</span>
|
1758
|
+
|
1759
|
+
<span class='comment'># Create step span as child of task span with error status
|
1760
|
+
</span> <span class='id identifier rubyid_create_step_span'>create_step_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tasker.step.execution</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='rparen'>)</span>
|
1761
|
+
<span class='kw'>end</span></pre>
|
1762
|
+
</td>
|
1763
|
+
</tr>
|
1764
|
+
</table>
|
1765
|
+
</div>
|
1766
|
+
|
1767
|
+
<div class="method_details ">
|
1768
|
+
<h3 class="signature " id="handle_step_retry_requested-instance_method">
|
1769
|
+
|
1770
|
+
#<strong>handle_step_retry_requested</strong>(event) ⇒ <tt>Object</tt>
|
1771
|
+
|
1772
|
+
|
1773
|
+
|
1774
|
+
|
1775
|
+
|
1776
|
+
</h3><div class="docstring">
|
1777
|
+
<div class="discussion">
|
1778
|
+
|
1779
|
+
<p>Handle step retry events</p>
|
1780
|
+
|
1781
|
+
|
1782
|
+
</div>
|
1783
|
+
</div>
|
1784
|
+
<div class="tags">
|
1785
|
+
|
1786
|
+
|
1787
|
+
</div><table class="source_code">
|
1788
|
+
<tr>
|
1789
|
+
<td>
|
1790
|
+
<pre class="lines">
|
1791
|
+
|
1792
|
+
|
1793
|
+
134
|
1794
|
+
135
|
1795
|
+
136
|
1796
|
+
137
|
1797
|
+
138
|
1798
|
+
139
|
1799
|
+
140
|
1800
|
+
141
|
1801
|
+
142
|
1802
|
+
143
|
1803
|
+
144</pre>
|
1804
|
+
</td>
|
1805
|
+
<td>
|
1806
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 134</span>
|
1807
|
+
|
1808
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_step_retry_requested'>handle_step_retry_requested</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1809
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</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="../../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/StepEvents.html" title="Tasker::Constants::StepEvents (module)">StepEvents</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/StepEvents.html#RETRY_REQUESTED-constant" title="Tasker::Constants::StepEvents::RETRY_REQUESTED (constant)">RETRY_REQUESTED</a></span></span><span class='rparen'>)</span>
|
1810
|
+
|
1811
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_step_attributes'>extract_step_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
1812
|
+
<span class='label'>attempt_number:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:attempt_number</span><span class='comma'>,</span> <span class='int'>1</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1813
|
+
<span class='label'>retry_limit:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:retry_limit</span><span class='comma'>,</span> <span class='int'>3</span><span class='rparen'>)</span>
|
1814
|
+
<span class='rparen'>)</span>
|
1815
|
+
|
1816
|
+
<span class='comment'># Create a simple span for retry events
|
1817
|
+
</span> <span class='id identifier rubyid_create_simple_span'>create_simple_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tasker.step.retry</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1818
|
+
<span class='kw'>end</span></pre>
|
1819
|
+
</td>
|
1820
|
+
</tr>
|
1821
|
+
</table>
|
1822
|
+
</div>
|
1823
|
+
|
1824
|
+
<div class="method_details ">
|
1825
|
+
<h3 class="signature " id="handle_task_completed-instance_method">
|
1826
|
+
|
1827
|
+
#<strong>handle_task_completed</strong>(event) ⇒ <tt>Object</tt>
|
1828
|
+
|
1829
|
+
|
1830
|
+
|
1831
|
+
|
1832
|
+
|
1833
|
+
</h3><div class="docstring">
|
1834
|
+
<div class="discussion">
|
1835
|
+
|
1836
|
+
<p>Handle task completion events</p>
|
1837
|
+
|
1838
|
+
|
1839
|
+
</div>
|
1840
|
+
</div>
|
1841
|
+
<div class="tags">
|
1842
|
+
|
1843
|
+
|
1844
|
+
</div><table class="source_code">
|
1845
|
+
<tr>
|
1846
|
+
<td>
|
1847
|
+
<pre class="lines">
|
1848
|
+
|
1849
|
+
|
1850
|
+
62
|
1851
|
+
63
|
1852
|
+
64
|
1853
|
+
65
|
1854
|
+
66
|
1855
|
+
67
|
1856
|
+
68
|
1857
|
+
69
|
1858
|
+
70
|
1859
|
+
71
|
1860
|
+
72
|
1861
|
+
73
|
1862
|
+
74
|
1863
|
+
75
|
1864
|
+
76</pre>
|
1865
|
+
</td>
|
1866
|
+
<td>
|
1867
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 62</span>
|
1868
|
+
|
1869
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_task_completed'>handle_task_completed</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1870
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</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="../../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/TaskEvents.html" title="Tasker::Constants::TaskEvents (module)">TaskEvents</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/TaskEvents.html#COMPLETED-constant" title="Tasker::Constants::TaskEvents::COMPLETED (constant)">COMPLETED</a></span></span><span class='rparen'>)</span>
|
1871
|
+
|
1872
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_core_attributes'>extract_core_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
1873
|
+
<span class='label'>task_name:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:task_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unknown_task</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
1874
|
+
<span class='label'>duration:</span> <span class='id identifier rubyid_calculate_duration'>calculate_duration</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1875
|
+
<span class='label'>total_execution_duration:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:total_execution_duration</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1876
|
+
<span class='label'>current_execution_duration:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:current_execution_duration</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1877
|
+
<span class='label'>total_steps:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:total_steps</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1878
|
+
<span class='label'>completed_steps:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:completed_steps</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
|
1879
|
+
<span class='rparen'>)</span>
|
1880
|
+
|
1881
|
+
<span class='comment'># Finish the task span with success status
|
1882
|
+
</span> <span class='id identifier rubyid_finish_task_span'>finish_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:ok</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1883
|
+
<span class='kw'>end</span></pre>
|
1884
|
+
</td>
|
1885
|
+
</tr>
|
1886
|
+
</table>
|
1887
|
+
</div>
|
1888
|
+
|
1889
|
+
<div class="method_details ">
|
1890
|
+
<h3 class="signature " id="handle_task_failed-instance_method">
|
1891
|
+
|
1892
|
+
#<strong>handle_task_failed</strong>(event) ⇒ <tt>Object</tt>
|
1893
|
+
|
1894
|
+
|
1895
|
+
|
1896
|
+
|
1897
|
+
|
1898
|
+
</h3><div class="docstring">
|
1899
|
+
<div class="discussion">
|
1900
|
+
|
1901
|
+
<p>Handle task failure events</p>
|
1902
|
+
|
1903
|
+
|
1904
|
+
</div>
|
1905
|
+
</div>
|
1906
|
+
<div class="tags">
|
1907
|
+
|
1908
|
+
|
1909
|
+
</div><table class="source_code">
|
1910
|
+
<tr>
|
1911
|
+
<td>
|
1912
|
+
<pre class="lines">
|
1913
|
+
|
1914
|
+
|
1915
|
+
79
|
1916
|
+
80
|
1917
|
+
81
|
1918
|
+
82
|
1919
|
+
83
|
1920
|
+
84
|
1921
|
+
85
|
1922
|
+
86
|
1923
|
+
87
|
1924
|
+
88
|
1925
|
+
89
|
1926
|
+
90
|
1927
|
+
91</pre>
|
1928
|
+
</td>
|
1929
|
+
<td>
|
1930
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 79</span>
|
1931
|
+
|
1932
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_task_failed'>handle_task_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1933
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</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="../../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/TaskEvents.html" title="Tasker::Constants::TaskEvents (module)">TaskEvents</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/TaskEvents.html#FAILED-constant" title="Tasker::Constants::TaskEvents::FAILED (constant)">FAILED</a></span></span><span class='rparen'>)</span>
|
1934
|
+
|
1935
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_core_attributes'>extract_core_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
1936
|
+
<span class='label'>task_name:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:task_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unknown_task</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
1937
|
+
<span class='label'>error:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:error_message</span><span class='comma'>,</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown error</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1938
|
+
<span class='label'>exception_class:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:exception_class</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>StandardError</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
1939
|
+
<span class='label'>failed_steps:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:failed_steps</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
|
1940
|
+
<span class='rparen'>)</span>
|
1941
|
+
|
1942
|
+
<span class='comment'># Finish the task span with error status
|
1943
|
+
</span> <span class='id identifier rubyid_finish_task_span'>finish_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1944
|
+
<span class='kw'>end</span></pre>
|
1945
|
+
</td>
|
1946
|
+
</tr>
|
1947
|
+
</table>
|
1948
|
+
</div>
|
1949
|
+
|
1950
|
+
<div class="method_details ">
|
1951
|
+
<h3 class="signature " id="handle_task_initialize_requested-instance_method">
|
1952
|
+
|
1953
|
+
#<strong>handle_task_initialize_requested</strong>(event) ⇒ <tt>Object</tt>
|
1954
|
+
|
1955
|
+
|
1956
|
+
|
1957
|
+
|
1958
|
+
|
1959
|
+
</h3><div class="docstring">
|
1960
|
+
<div class="discussion">
|
1961
|
+
|
1962
|
+
<p>Handle task initialization events</p>
|
1963
|
+
|
1964
|
+
|
1965
|
+
</div>
|
1966
|
+
</div>
|
1967
|
+
<div class="tags">
|
1968
|
+
|
1969
|
+
|
1970
|
+
</div><table class="source_code">
|
1971
|
+
<tr>
|
1972
|
+
<td>
|
1973
|
+
<pre class="lines">
|
1974
|
+
|
1975
|
+
|
1976
|
+
38
|
1977
|
+
39
|
1978
|
+
40
|
1979
|
+
41
|
1980
|
+
42
|
1981
|
+
43
|
1982
|
+
44
|
1983
|
+
45
|
1984
|
+
46
|
1985
|
+
47</pre>
|
1986
|
+
</td>
|
1987
|
+
<td>
|
1988
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 38</span>
|
1989
|
+
|
1990
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_task_initialize_requested'>handle_task_initialize_requested</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
1991
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</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="../../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/TaskEvents.html" title="Tasker::Constants::TaskEvents (module)">TaskEvents</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/TaskEvents.html#INITIALIZE_REQUESTED-constant" title="Tasker::Constants::TaskEvents::INITIALIZE_REQUESTED (constant)">INITIALIZE_REQUESTED</a></span></span><span class='rparen'>)</span>
|
1992
|
+
|
1993
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_core_attributes'>extract_core_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
1994
|
+
<span class='label'>task_name:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:task_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unknown_task</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
1995
|
+
<span class='rparen'>)</span>
|
1996
|
+
|
1997
|
+
<span class='comment'># Only create basic span for initialization - task.start_requested will create the main span
|
1998
|
+
</span> <span class='id identifier rubyid_create_simple_span'>create_simple_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tasker.task.initialize</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
1999
|
+
<span class='kw'>end</span></pre>
|
2000
|
+
</td>
|
2001
|
+
</tr>
|
2002
|
+
</table>
|
2003
|
+
</div>
|
2004
|
+
|
2005
|
+
<div class="method_details ">
|
2006
|
+
<h3 class="signature " id="handle_task_start_requested-instance_method">
|
2007
|
+
|
2008
|
+
#<strong>handle_task_start_requested</strong>(event) ⇒ <tt>Object</tt>
|
2009
|
+
|
2010
|
+
|
2011
|
+
|
2012
|
+
|
2013
|
+
|
2014
|
+
</h3><div class="docstring">
|
2015
|
+
<div class="discussion">
|
2016
|
+
|
2017
|
+
<p>Handle task start events</p>
|
2018
|
+
|
2019
|
+
|
2020
|
+
</div>
|
2021
|
+
</div>
|
2022
|
+
<div class="tags">
|
2023
|
+
|
2024
|
+
|
2025
|
+
</div><table class="source_code">
|
2026
|
+
<tr>
|
2027
|
+
<td>
|
2028
|
+
<pre class="lines">
|
2029
|
+
|
2030
|
+
|
2031
|
+
50
|
2032
|
+
51
|
2033
|
+
52
|
2034
|
+
53
|
2035
|
+
54
|
2036
|
+
55
|
2037
|
+
56
|
2038
|
+
57
|
2039
|
+
58
|
2040
|
+
59</pre>
|
2041
|
+
</td>
|
2042
|
+
<td>
|
2043
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 50</span>
|
2044
|
+
|
2045
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_task_start_requested'>handle_task_start_requested</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
2046
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</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="../../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/TaskEvents.html" title="Tasker::Constants::TaskEvents (module)">TaskEvents</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Constants/TaskEvents.html#START_REQUESTED-constant" title="Tasker::Constants::TaskEvents::START_REQUESTED (constant)">START_REQUESTED</a></span></span><span class='rparen'>)</span>
|
2047
|
+
|
2048
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_core_attributes'>extract_core_attributes</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span>
|
2049
|
+
<span class='label'>task_name:</span> <span class='id identifier rubyid_safe_get'>safe_get</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='symbol'>:task_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unknown_task</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
2050
|
+
<span class='rparen'>)</span>
|
2051
|
+
|
2052
|
+
<span class='comment'># Create root span for task and store it for child spans
|
2053
|
+
</span> <span class='id identifier rubyid_create_task_span'>create_task_span</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tasker.task.execution</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
2054
|
+
<span class='kw'>end</span></pre>
|
2055
|
+
</td>
|
2056
|
+
</tr>
|
2057
|
+
</table>
|
2058
|
+
</div>
|
2059
|
+
|
2060
|
+
<div class="method_details ">
|
2061
|
+
<h3 class="signature " id="opentelemetry_available?-instance_method">
|
2062
|
+
|
2063
|
+
#<strong>opentelemetry_available?</strong> ⇒ <tt>Boolean</tt>
|
2064
|
+
|
2065
|
+
|
2066
|
+
|
2067
|
+
|
2068
|
+
|
2069
|
+
</h3><div class="docstring">
|
2070
|
+
<div class="discussion">
|
2071
|
+
|
2072
|
+
<p>Check if OpenTelemetry is available and configured</p>
|
2073
|
+
|
2074
|
+
|
2075
|
+
</div>
|
2076
|
+
</div>
|
2077
|
+
<div class="tags">
|
2078
|
+
|
2079
|
+
<p class="tag_title">Returns:</p>
|
2080
|
+
<ul class="return">
|
2081
|
+
|
2082
|
+
<li>
|
2083
|
+
|
2084
|
+
|
2085
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
2086
|
+
|
2087
|
+
|
2088
|
+
|
2089
|
+
—
|
2090
|
+
<div class='inline'>
|
2091
|
+
<p>True if OpenTelemetry is available</p>
|
2092
|
+
</div>
|
2093
|
+
|
2094
|
+
</li>
|
2095
|
+
|
2096
|
+
</ul>
|
2097
|
+
|
2098
|
+
</div><table class="source_code">
|
2099
|
+
<tr>
|
2100
|
+
<td>
|
2101
|
+
<pre class="lines">
|
2102
|
+
|
2103
|
+
|
2104
|
+
291
|
2105
|
+
292
|
2106
|
+
293</pre>
|
2107
|
+
</td>
|
2108
|
+
<td>
|
2109
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 291</span>
|
2110
|
+
|
2111
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_opentelemetry_available?'>opentelemetry_available?</span>
|
2112
|
+
<span class='kw'>defined?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>OpenTelemetry</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='op'>::</span><span class='const'>OpenTelemetry</span><span class='period'>.</span><span class='id identifier rubyid_tracer_provider'>tracer_provider</span>
|
2113
|
+
<span class='kw'>end</span></pre>
|
2114
|
+
</td>
|
2115
|
+
</tr>
|
2116
|
+
</table>
|
2117
|
+
</div>
|
2118
|
+
|
2119
|
+
<div class="method_details ">
|
2120
|
+
<h3 class="signature " id="should_process_event?-instance_method">
|
2121
|
+
|
2122
|
+
#<strong>should_process_event?</strong>(event_constant) ⇒ <tt>Boolean</tt>
|
2123
|
+
|
2124
|
+
|
2125
|
+
|
2126
|
+
|
2127
|
+
|
2128
|
+
</h3><div class="docstring">
|
2129
|
+
<div class="discussion">
|
2130
|
+
|
2131
|
+
<p>Override BaseSubscriber to add telemetry-specific filtering</p>
|
2132
|
+
|
2133
|
+
|
2134
|
+
</div>
|
2135
|
+
</div>
|
2136
|
+
<div class="tags">
|
2137
|
+
|
2138
|
+
<p class="tag_title">Returns:</p>
|
2139
|
+
<ul class="return">
|
2140
|
+
|
2141
|
+
<li>
|
2142
|
+
|
2143
|
+
|
2144
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
2145
|
+
|
2146
|
+
|
2147
|
+
|
2148
|
+
</li>
|
2149
|
+
|
2150
|
+
</ul>
|
2151
|
+
|
2152
|
+
</div><table class="source_code">
|
2153
|
+
<tr>
|
2154
|
+
<td>
|
2155
|
+
<pre class="lines">
|
2156
|
+
|
2157
|
+
|
2158
|
+
147
|
2159
|
+
148
|
2160
|
+
149
|
2161
|
+
150
|
2162
|
+
151
|
2163
|
+
152
|
2164
|
+
153
|
2165
|
+
154
|
2166
|
+
155</pre>
|
2167
|
+
</td>
|
2168
|
+
<td>
|
2169
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 147</span>
|
2170
|
+
|
2171
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_should_process_event?'>should_process_event?</span><span class='lparen'>(</span><span class='id identifier rubyid_event_constant'>event_constant</span><span class='rparen'>)</span>
|
2172
|
+
<span class='comment'># Get configuration once for efficiency
|
2173
|
+
</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='period'>.</span><span class='id identifier rubyid_configuration'><span class='object_link'><a href="../../../Tasker.html#configuration-class_method" title="Tasker.configuration (method)">configuration</a></span></span>
|
2174
|
+
|
2175
|
+
<span class='comment'># Only process if telemetry is enabled
|
2176
|
+
</span> <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>unless</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_telemetry'>telemetry</span><span class='period'>.</span><span class='id identifier rubyid_enabled'>enabled</span>
|
2177
|
+
|
2178
|
+
<span class='kw'>super</span>
|
2179
|
+
<span class='kw'>end</span></pre>
|
2180
|
+
</td>
|
2181
|
+
</tr>
|
2182
|
+
</table>
|
2183
|
+
</div>
|
2184
|
+
|
2185
|
+
<div class="method_details ">
|
2186
|
+
<h3 class="signature " id="telemetry_enabled?-instance_method">
|
2187
|
+
|
2188
|
+
#<strong>telemetry_enabled?</strong> ⇒ <tt>Boolean</tt>
|
2189
|
+
|
2190
|
+
|
2191
|
+
|
2192
|
+
|
2193
|
+
|
2194
|
+
</h3><div class="docstring">
|
2195
|
+
<div class="discussion">
|
2196
|
+
|
2197
|
+
<p>Check if telemetry is enabled</p>
|
2198
|
+
|
2199
|
+
|
2200
|
+
</div>
|
2201
|
+
</div>
|
2202
|
+
<div class="tags">
|
2203
|
+
|
2204
|
+
<p class="tag_title">Returns:</p>
|
2205
|
+
<ul class="return">
|
2206
|
+
|
2207
|
+
<li>
|
2208
|
+
|
2209
|
+
|
2210
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
2211
|
+
|
2212
|
+
|
2213
|
+
|
2214
|
+
</li>
|
2215
|
+
|
2216
|
+
</ul>
|
2217
|
+
|
2218
|
+
</div><table class="source_code">
|
2219
|
+
<tr>
|
2220
|
+
<td>
|
2221
|
+
<pre class="lines">
|
2222
|
+
|
2223
|
+
|
2224
|
+
165
|
2225
|
+
166
|
2226
|
+
167</pre>
|
2227
|
+
</td>
|
2228
|
+
<td>
|
2229
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/subscribers/telemetry_subscriber.rb', line 165</span>
|
2230
|
+
|
2231
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_telemetry_enabled?'>telemetry_enabled?</span>
|
2232
|
+
<span class='const'><span class='object_link'><a href="../../../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='period'>.</span><span class='id identifier rubyid_configuration'><span class='object_link'><a href="../../../Tasker.html#configuration-class_method" title="Tasker.configuration (method)">configuration</a></span></span><span class='period'>.</span><span class='id identifier rubyid_telemetry'><span class='object_link'><a href="../../Configuration.html#telemetry-instance_method" title="Tasker::Configuration#telemetry (method)">telemetry</a></span></span><span class='period'>.</span><span class='id identifier rubyid_enabled'><span class='object_link'><a href="../../Types/TelemetryConfig.html#enabled-instance_method" title="Tasker::Types::TelemetryConfig#enabled (method)">enabled</a></span></span> <span class='op'>!=</span> <span class='kw'>false</span>
|
2233
|
+
<span class='kw'>end</span></pre>
|
2234
|
+
</td>
|
2235
|
+
</tr>
|
2236
|
+
</table>
|
2237
|
+
</div>
|
2238
|
+
|
2239
|
+
</div>
|
2240
|
+
|
2241
|
+
</div>
|
2242
|
+
|
2243
|
+
<div id="footer">
|
2244
|
+
Generated on Tue Jul 1 16:47:41 2025 by
|
2245
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2246
|
+
0.9.37 (ruby-3.2.4).
|
2247
|
+
</div>
|
2248
|
+
|
2249
|
+
</div>
|
2250
|
+
</body>
|
2251
|
+
</html>
|