-
Notifications
You must be signed in to change notification settings - Fork 27
fix: address hidden steep issues #415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -216,7 +216,7 @@ def self._validate_plugins!(plugins) | |
| def initialize( | ||
| connection:, | ||
| namespace:, | ||
| data_converter: DataConverter.default, | ||
| data_converter: Converters::DataConverter.default, | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This was flat out broken, but most calls go through |
||
| plugins: [], | ||
| interceptors: [], | ||
| logger: Logger.new($stdout, level: Logger::WARN), | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -158,15 +158,15 @@ def start_update_with_start_workflow(input) | |
| # @!visibility private | ||
| def signal_with_start_workflow(input) | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There were 2 bugs in this implementation:
|
||
| @root._with_started_span( | ||
| name: "SignalWithStartWorkflow:#{input.workflow}", | ||
| name: "SignalWithStartWorkflow:#{input.start_workflow_operation.options.workflow}", | ||
| kind: :client, | ||
| attributes: { 'temporalWorkflowID' => input.start_workflow_operation.options.id }, | ||
| outbound_input: input | ||
| attributes: { 'temporalWorkflowID' => input.start_workflow_operation.options.id } | ||
| ) do | ||
| # Also add to start headers | ||
| if input.headers[@header_key] | ||
| input.start_workflow_operation.options.headers[@header_key] = input.headers[@header_key] | ||
| end | ||
| # SignalWithStartWorkflowInput has no top-level headers field and instead uses | ||
| # start_workflow_operation.options.headers. | ||
| # So tracing context must be injected explicitly instead of relying | ||
| # on _with_started_span. | ||
| @root._apply_context_to_headers(input.start_workflow_operation.options.headers) | ||
| super | ||
| end | ||
| end | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| module OpenTelemetry | ||
| module Context | ||
| def self.current: -> untyped | ||
| def self.attach: (untyped context) -> untyped | ||
| def self.detach: (untyped token) -> void | ||
|
|
||
| module Propagation | ||
| class CompositeTextMapPropagator | ||
| def self.compose_propagators: (Array[untyped] propagators) -> untyped | ||
| end | ||
| end | ||
| end | ||
|
|
||
| module Baggage | ||
| module Propagation | ||
| class TextMapPropagator | ||
| def initialize: -> void | ||
| end | ||
| end | ||
| end | ||
|
|
||
| module Trace | ||
| def self.with_span: [T] (untyped span) { -> T } -> T | ||
| def self.current_span: (?untyped context) -> untyped | ||
| def self.context_with_span: (untyped span) -> untyped | ||
|
|
||
| class Link | ||
| def initialize: (untyped context) -> void | ||
| end | ||
|
|
||
| module Status | ||
| def self.error: (String description) -> untyped | ||
| end | ||
|
|
||
| module Propagation | ||
| module TraceContext | ||
| class TextMapPropagator | ||
| def initialize: -> void | ||
| end | ||
| end | ||
| end | ||
|
|
||
| class Span | ||
| INVALID: untyped | ||
| end | ||
| end | ||
| end |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,12 +1,14 @@ | ||
| module Temporalio | ||
| module Converters | ||
| class PayloadConverter | ||
| class JsonPlain < Encoding | ||
| class JSONPlain < Encoding | ||
| ENCODING: String | ||
|
|
||
| def initialize: ( | ||
| ?Hash[Symbol, untyped] parse_options, | ||
| ?Hash[Symbol, untyped] generate_options | ||
| ?parse_options: Hash[Symbol, untyped], | ||
| ?generate_options: Hash[Symbol, untyped] | ||
| ) -> void | ||
| end | ||
| end | ||
| end | ||
| end | ||
| end |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,9 @@ | ||
| module Temporalio | ||
| module Converters | ||
| class PayloadConverter | ||
| class JsonProtobuf < Encoding | ||
| class JSONProtobuf < Encoding | ||
| ENCODING: String | ||
| end | ||
| end | ||
| end | ||
| end | ||
| end |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,22 +2,22 @@ module Temporalio | |
| class Worker | ||
| class PollerBehavior | ||
| def _to_bridge_options: -> untyped | ||
| end | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not super easy to tell from the diff, but we want these to be nested e.g. |
||
|
|
||
| class SimpleMaximum < PollerBehavior | ||
| attr_reader maximum: Integer | ||
| class SimpleMaximum < PollerBehavior | ||
| attr_reader maximum: Integer | ||
|
|
||
| def initialize: (Integer) -> void | ||
| def _to_bridge_options: -> Internal::Bridge::Worker::PollerBehaviorSimpleMaximum | ||
| end | ||
| def initialize: (Integer) -> void | ||
| def _to_bridge_options: -> Internal::Bridge::Worker::PollerBehaviorSimpleMaximum | ||
| end | ||
|
|
||
| class Autoscaling < PollerBehavior | ||
| attr_reader minimum: Integer | ||
| attr_reader maximum: Integer | ||
| attr_reader initial: Integer | ||
| class Autoscaling < PollerBehavior | ||
| attr_reader minimum: Integer | ||
| attr_reader maximum: Integer | ||
| attr_reader initial: Integer | ||
|
|
||
| def initialize: (?minimum: Integer, ?maximum: Integer, ?initial: Integer) -> void | ||
| def _to_bridge_options: -> Internal::Bridge::Worker::PollerBehaviorAutoscaling | ||
| def initialize: (?minimum: Integer, ?maximum: Integer, ?initial: Integer) -> void | ||
| def _to_bridge_options: -> Internal::Bridge::Worker::PollerBehaviorAutoscaling | ||
| end | ||
| end | ||
| end | ||
| end | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Required for
Etc.nprocessorsusage inthread_pool.rb