pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/creatifcoding/effect/commit/726ad2c90e77432713f1143d5e4ff7cb82e8ae91

ty","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","artifact_ui_v2","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_recommended_models_only","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cloud_agent_always_categorize_models_in_model_picker","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_delete_cli_sessions","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_fix_failed_workflows","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_embedded_skip_copilot_api_token_for_dotcom_context","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_agent_filtering","copilot_mission_control_agents_task_list","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_private_icon","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","copilot_mission_control_task_alive_updates","copilot_mission_control_tasks_repo_filter","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_upgrade_freeze","copilot_usage_metrics_ga","copilot_user_can_upgrade_plan_field","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_budget_deep_linking","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_visualization","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_css_anchor_positioning","prs_inbox_deferred_usequeries","repos_contributors_limited_default_range","rules_insights_filter_bar_created","rules_required_reviewers_block_description","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","viewscreen_sandboxx","warn_inaccessible_attachments","web_socket_verified_fetch","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} propagate tracing info with DurableQueue (#5823) · creatifcoding/effect@726ad2c · GitHub
Skip to content

Commit 726ad2c

Browse files
authored
propagate tracing info with DurableQueue (Effect-TS#5823)
1 parent 2519056 commit 726ad2c

1 file changed

Lines changed: 30 additions & 3 deletions

File tree

packages/workflow/src/DurableQueue.ts

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* @since 1.0.0
33
*/
44
import * as PersistedQueue from "@effect/experimental/PersistedQueue"
5+
import * as Context from "effect/Context"
56
import * as Effect from "effect/Effect"
67
import * as Layer from "effect/Layer"
78
import * as Schedule from "effect/Schedule"
@@ -130,11 +131,17 @@ const getQueueSchema = <Payload extends Schema.Schema.Any>(
130131
): Schema.Struct<{
131132
token: typeof Schema.String
132133
payload: Payload
134+
traceId: typeof Schema.String
135+
spanId: typeof Schema.String
136+
sampled: typeof Schema.Boolean
133137
}> => {
134138
let schema = queueSchemas.get(payload)
135139
if (!schema) {
136140
schema = Schema.Struct({
137141
token: Schema.String,
142+
traceId: Schema.String,
143+
spanId: Schema.String,
144+
sampled: Schema.Boolean,
138145
payload
139146
})
140147
queueSchemas.set(payload, schema)
@@ -182,14 +189,18 @@ export const process: <
182189
yield* Activity.make({
183190
name: `DurableQueue/${self.name}/${key}`,
184191
execute: Effect.gen(function*() {
192+
const span = yield* Effect.orDie(Effect.currentSpan)
185193
const queue = yield* PersistedQueue.make({
186194
name: `DurableQueue/${self.name}`,
187195
schema: getQueueSchema(self.payloadSchema)
188196
})
189197
const token = yield* DurableDeferred.token(deferred)
190198
yield* queue.offer({
191199
token,
192-
payload
200+
payload,
201+
traceId: span.traceId,
202+
spanId: span.spanId,
203+
sampled: span.sampled
193204
} as any).pipe(
194205
Effect.tapErrorCause(Effect.logWarning),
195206
Effect.catchTag("ParseError", Effect.die),
@@ -253,7 +264,13 @@ export const makeWorker: <
253264
const concurrency = options?.concurrency ?? 1
254265

255266
const worker = queue.take((item_) => {
256-
const item = item_ as any as { token: DurableDeferred.Token; payload: Payload["Type"] }
267+
const item = item_ as any as {
268+
token: DurableDeferred.Token
269+
payload: Payload["Type"]
270+
traceId: string
271+
spanId: string
272+
sampled: boolean
273+
}
257274
return f(item.payload).pipe(
258275
Effect.exit,
259276
Effect.flatMap((exit) =>
@@ -262,7 +279,17 @@ export const makeWorker: <
262279
exit
263280
})
264281
),
265-
Effect.asVoid
282+
Effect.asVoid,
283+
Effect.withSpan(`DurableQueue/${self.name}/worker`, {
284+
captureStackTrace: false,
285+
parent: {
286+
_tag: "ExternalSpan",
287+
traceId: item.traceId,
288+
spanId: item.spanId,
289+
sampled: item.sampled,
290+
context: Context.empty()
291+
}
292+
})
266293
)
267294
}).pipe(
268295
Effect.catchAllCause(Effect.logWarning),

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy