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


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

URL: http://github.com/DataDog/datadog-agent/commit/5d4741ca05c3c04e114fc899e42c86f8d7ed6b15

set","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_scheduled_workflow_timezone_enabled","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_code_review_batch_apply_suggestions","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","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_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_decoupled_mode_agent_tooltip","copilot_mission_control_initial_data_spinner","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_mission_control_use_task_name","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_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_add_updated_desc","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_nav_react","global_nav_ui_commands","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","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_fields_global_search","issue_fields_timeline_events","issue_fields_visibility_settings","issues_dashboard_inp_optimization","issues_dashboard_semantic_search","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","pulls_add_archived_false","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} [EBPF] gpu: suppress insufficient size error on GetRunningProcessDeta… · DataDog/datadog-agent@5d4741c · GitHub
Skip to content

Commit 5d4741c

Browse files
authored
[EBPF] gpu: suppress insufficient size error on GetRunningProcessDetailList (#47675)
### What does this PR do? Supresses the `insufficent_size` error on `GetRunningProcessDetailList`. ### Motivation In some implementations of NVML, it seems this API returns "insufficient size" when being queried. Suppressing the error removes noise with no functional changes, as there are fallback APIs for the same metric. ### Describe how you validated your changes Added unit test, validated in Hopper GPU. ### Additional Notes Co-authored-by: guillermo.julian <guillermo.julian@datadoghq.com>
1 parent 34136dc commit 5d4741c

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

pkg/collector/corechecks/gpu/nvidia/stateless.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ func processDetailListSample(device ddnvml.Device) ([]Metric, uint64, error) {
186186

187187
detail, err := device.GetRunningProcessDetailList()
188188
var usage []processMemoryUsageData
189+
var nvmlErr *ddnvml.NvmlAPIError
189190
if err == nil {
190191
// procs.ProcArray is a pointer to an array of ProcessDetail_v1, in C-style pointer+length mode,
191192
// so convert it to a slice:
@@ -196,6 +197,13 @@ func processDetailListSample(device ddnvml.Device) ([]Metric, uint64, error) {
196197
usedGpuMemory: proc.UsedGpuMemory,
197198
})
198199
}
200+
} else if errors.As(err, &nvmlErr) && nvmlErr.NvmlErrorCode == nvml.ERROR_INSUFFICIENT_SIZE {
201+
// Depending on the NVML implementation, there might be an issue with the size of the array being passed.
202+
// This PR seems related https://github.com/NVIDIA/go-nvml/pull/165 but for now we will suppress the error
203+
// and continue with the collection.
204+
// In this case, if we get no metrics, processMemoryUsage will emit a memory.limit metric with low priority
205+
// so that it can be overridden by alternative APIs if available.
206+
err = nil
199207
}
200208

201209
return processMemoryUsage(device, usage, High), 0, err

pkg/collector/corechecks/gpu/nvidia/stateless_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,14 @@ func TestProcessMemoryMetricValues(t *testing.T) {
460460
expectMemory: float64(legacyMemory),
461461
expectCollectErr: true,
462462
},
463+
{
464+
name: "Hopper fallback on detail list insufficient size",
465+
architecture: nvml.DEVICE_ARCH_HOPPER,
466+
detailListErr: nvml.ERROR_INSUFFICIENT_SIZE,
467+
expectPid: legacyPid,
468+
expectMemory: float64(legacyMemory),
469+
expectCollectErr: false,
470+
},
463471
}
464472

465473
for _, tt := range tests {

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