Skip to content

The DTrace upstairs_action.d script needs updates #1916

@leftwo

Description

@leftwo

The up-status probe in DTrace has changed from what the script has:

BRM42220030 # dtrace -n 'crucible_upstairs*:::up-status { printf("%s fired", probename); }'                                                                    
dtrace: description 'crucible_upstairs*:::up-status ' matched 2 probes                                                                                         
CPU     ID                    FUNCTION:NAME                                                                                                                    
  9   8253 _ZN8crucible8upstairs8Upstairs5apply17h1463b2271fa735ccE:up-status up-status fired                                                                  
120   8253 _ZN8crucible8upstairs8Upstairs5apply17h1463b2271fa735ccE:up-status up-status fired                                                                  
^C                                                                                                                                                             
 69   8253 _ZN8crucible8upstairs8Upstairs5apply17h1463b2271fa735ccE:up-status up-status fired                                                                  
                                                                                                                                                               
BRM42220030 # dtrace -n 'crucible_upstairs*:::up-status { printf("%s fired", json(copyinstr(arg1), "ok")); }'                                                  
                                                                                                                                                               
dtrace: description 'crucible_upstairs*:::up-status ' matched 2 probes                                                                                         
dtrace: error on enabled probe ID 1 (ID 8253: crucible_upstairs4264:propolis-server:_ZN8crucible8upstairs8Upstairs5apply17h1463b2271fa735ccE:up-status): invali
d address (0x0) in action #1                                                                                                                                   
dtrace: error on enabled probe ID 1 (ID 8253: crucible_upstairs4264:propolis-server:_ZN8crucible8upstairs8Upstairs5apply17h1463b2271fa735ccE:up-status): invali
d address (0x0) in action #1   

The script wants:

crucible_upstairs*:::up-status                                                                                                                                 
{                                                                                                                                                              
    show = show + 1;                                                                                                                                           
    printf("%9s", json(copyinstr(arg1), "ok.up_counters.apply"));                                                                                              
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_downstairs"));                                                                                 
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_guest"));                                                                                      
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_deferred_block"));                                                                             
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_deferred_message"));                                                                           
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_leak_check"));                                                                                 
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_flush_check"));                                                                                
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_stat_check"));                                                                                 
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_control_check"));                                                                              
    printf(" %9s", json(copyinstr(arg1), "ok.up_counters.action_noop"));                                                                                       
    printf("\n");                                                                                                                                              
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions