Skip to content

Instantly share code, notes, and snippets.

@joshkuten
Created April 25, 2014 14:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshkuten/11291880 to your computer and use it in GitHub Desktop.
Save joshkuten/11291880 to your computer and use it in GitHub Desktop.
Dtrace script trying to inspect return values for getaddrinfo
#!/usr/sbin/dtrace -s
#pragma D option quiet
dtrace:::BEGIN
{
printf("%-20s %-12s %s\n", "TIME", "LATENCY(ms)", "HOST");
}
pid$target::getaddrinfo:entry
{
self->host = copyinstr(arg0);
self->start = timestamp;
}
pid$target::getaddrinfo:return
/self->start/
{
printf("%d %d %d", arg0, arg1, arg2);
this->delta = (timestamp - self->start) / 1000000;
printf("%-20Y %-12d %s\n", walltimestamp, this->delta, self->host);
self->host = 0;
self->start = 0;
@ = quantize((int32_t)arg1);
}
@joshkuten
Copy link
Author

arg1 distribution:

       value  ------------- Distribution ------------- count    
          -1 |                                         0        
           0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  283      
           1 |                                         0        
           2 |                                         0        
           4 |                                         0        
           8 |@                                        5        
          16 |                                         0        

@joshkuten
Copy link
Author

difference in return values

335 0 10172962014 Apr 25 10:35:11  1            data-proxy
335 0 10127522014 Apr 25 10:35:11  0            data-proxy
335 8 43720655562014 Apr 25 10:35:11  0            data-proxy
335 8 43709924042014 Apr 25 10:35:11  0            data-proxy

@joshkuten
Copy link
Author

from netdb.h

#define EAI_NONAME   8  /* hostname nor servname provided, or not known */

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment