s3-libads: use ldap_init_fd() to initialize a ldap session if possible
[bbaumbach/samba-autobuild/.git] / examples / systemtap / winbindd.stp
1 #!/usr/bin/stap
2 #
3 # Systemtap script to instrument winbindd
4 #
5 # Generated by examples/systemtap/generate-winbindd.stp.sh on Sat Jul 15 18:49:52 CEST 2017, do not edit
6 #
7 # Usage:
8 #
9 # Instrument all winbindd processes:
10 # # stap winbindd.stp
11 #
12 # Instrument a specific winbindd process:
13 # # stap -x PID winbindd.stp
14 #
15
16 global dc_running, dc_svctime
17 global backend_running, backend_svctime
18 global send_running, recv_running
19 global start_time, idle_time
20 global async_svctime, async_runtime
21
22 probe begin {
23         printf("Collecting data, press ctrl-C to stop... ")
24 }
25
26 #
27 # winbind domain child function winbindd_dual_ping
28 #
29
30 probe process("winbindd").function("winbindd_dual_ping") {
31         dc_running[tid(), "winbindd_dual_ping"] = gettimeofday_us()
32 }
33
34 probe process("winbindd").function("winbindd_dual_ping").return {
35         if (!([tid(), "winbindd_dual_ping"] in dc_running))
36                 next
37
38         end = gettimeofday_us()
39         begin = dc_running[tid(), "winbindd_dual_ping"]
40         delete dc_running[tid(), "winbindd_dual_ping"]
41
42         duration = end - begin
43         dc_svctime["winbindd_dual_ping"] <<< duration
44 }
45
46 #
47 # winbind domain child function winbindd_dual_list_trusted_domains
48 #
49
50 probe process("winbindd").function("winbindd_dual_list_trusted_domains") {
51         dc_running[tid(), "winbindd_dual_list_trusted_domains"] = gettimeofday_us()
52 }
53
54 probe process("winbindd").function("winbindd_dual_list_trusted_domains").return {
55         if (!([tid(), "winbindd_dual_list_trusted_domains"] in dc_running))
56                 next
57
58         end = gettimeofday_us()
59         begin = dc_running[tid(), "winbindd_dual_list_trusted_domains"]
60         delete dc_running[tid(), "winbindd_dual_list_trusted_domains"]
61
62         duration = end - begin
63         dc_svctime["winbindd_dual_list_trusted_domains"] <<< duration
64 }
65
66 #
67 # winbind domain child function winbindd_dual_init_connection
68 #
69
70 probe process("winbindd").function("winbindd_dual_init_connection") {
71         dc_running[tid(), "winbindd_dual_init_connection"] = gettimeofday_us()
72 }
73
74 probe process("winbindd").function("winbindd_dual_init_connection").return {
75         if (!([tid(), "winbindd_dual_init_connection"] in dc_running))
76                 next
77
78         end = gettimeofday_us()
79         begin = dc_running[tid(), "winbindd_dual_init_connection"]
80         delete dc_running[tid(), "winbindd_dual_init_connection"]
81
82         duration = end - begin
83         dc_svctime["winbindd_dual_init_connection"] <<< duration
84 }
85
86 #
87 # winbind domain child function winbindd_dual_pam_auth
88 #
89
90 probe process("winbindd").function("winbindd_dual_pam_auth") {
91         dc_running[tid(), "winbindd_dual_pam_auth"] = gettimeofday_us()
92 }
93
94 probe process("winbindd").function("winbindd_dual_pam_auth").return {
95         if (!([tid(), "winbindd_dual_pam_auth"] in dc_running))
96                 next
97
98         end = gettimeofday_us()
99         begin = dc_running[tid(), "winbindd_dual_pam_auth"]
100         delete dc_running[tid(), "winbindd_dual_pam_auth"]
101
102         duration = end - begin
103         dc_svctime["winbindd_dual_pam_auth"] <<< duration
104 }
105
106 #
107 # winbind domain child function winbindd_dual_pam_auth_crap
108 #
109
110 probe process("winbindd").function("winbindd_dual_pam_auth_crap") {
111         dc_running[tid(), "winbindd_dual_pam_auth_crap"] = gettimeofday_us()
112 }
113
114 probe process("winbindd").function("winbindd_dual_pam_auth_crap").return {
115         if (!([tid(), "winbindd_dual_pam_auth_crap"] in dc_running))
116                 next
117
118         end = gettimeofday_us()
119         begin = dc_running[tid(), "winbindd_dual_pam_auth_crap"]
120         delete dc_running[tid(), "winbindd_dual_pam_auth_crap"]
121
122         duration = end - begin
123         dc_svctime["winbindd_dual_pam_auth_crap"] <<< duration
124 }
125
126 #
127 # winbind domain child function winbindd_dual_pam_logoff
128 #
129
130 probe process("winbindd").function("winbindd_dual_pam_logoff") {
131         dc_running[tid(), "winbindd_dual_pam_logoff"] = gettimeofday_us()
132 }
133
134 probe process("winbindd").function("winbindd_dual_pam_logoff").return {
135         if (!([tid(), "winbindd_dual_pam_logoff"] in dc_running))
136                 next
137
138         end = gettimeofday_us()
139         begin = dc_running[tid(), "winbindd_dual_pam_logoff"]
140         delete dc_running[tid(), "winbindd_dual_pam_logoff"]
141
142         duration = end - begin
143         dc_svctime["winbindd_dual_pam_logoff"] <<< duration
144 }
145
146 #
147 # winbind domain child function winbindd_dual_pam_chng_pswd_auth_crap
148 #
149
150 probe process("winbindd").function("winbindd_dual_pam_chng_pswd_auth_crap") {
151         dc_running[tid(), "winbindd_dual_pam_chng_pswd_auth_crap"] = gettimeofday_us()
152 }
153
154 probe process("winbindd").function("winbindd_dual_pam_chng_pswd_auth_crap").return {
155         if (!([tid(), "winbindd_dual_pam_chng_pswd_auth_crap"] in dc_running))
156                 next
157
158         end = gettimeofday_us()
159         begin = dc_running[tid(), "winbindd_dual_pam_chng_pswd_auth_crap"]
160         delete dc_running[tid(), "winbindd_dual_pam_chng_pswd_auth_crap"]
161
162         duration = end - begin
163         dc_svctime["winbindd_dual_pam_chng_pswd_auth_crap"] <<< duration
164 }
165
166 #
167 # winbind domain child function winbindd_dual_pam_chauthtok
168 #
169
170 probe process("winbindd").function("winbindd_dual_pam_chauthtok") {
171         dc_running[tid(), "winbindd_dual_pam_chauthtok"] = gettimeofday_us()
172 }
173
174 probe process("winbindd").function("winbindd_dual_pam_chauthtok").return {
175         if (!([tid(), "winbindd_dual_pam_chauthtok"] in dc_running))
176                 next
177
178         end = gettimeofday_us()
179         begin = dc_running[tid(), "winbindd_dual_pam_chauthtok"]
180         delete dc_running[tid(), "winbindd_dual_pam_chauthtok"]
181
182         duration = end - begin
183         dc_svctime["winbindd_dual_pam_chauthtok"] <<< duration
184 }
185
186 #
187 # winbind domain child function _wbint_LookupSid
188 #
189
190 probe process("winbindd").function("_wbint_LookupSid") {
191         dc_running[tid(), "_wbint_LookupSid"] = gettimeofday_us()
192 }
193
194 probe process("winbindd").function("_wbint_LookupSid").return {
195         if (!([tid(), "_wbint_LookupSid"] in dc_running))
196                 next
197
198         end = gettimeofday_us()
199         begin = dc_running[tid(), "_wbint_LookupSid"]
200         delete dc_running[tid(), "_wbint_LookupSid"]
201
202         duration = end - begin
203         dc_svctime["_wbint_LookupSid"] <<< duration
204 }
205
206 #
207 # winbind domain child function _wbint_LookupSids
208 #
209
210 probe process("winbindd").function("_wbint_LookupSids") {
211         dc_running[tid(), "_wbint_LookupSids"] = gettimeofday_us()
212 }
213
214 probe process("winbindd").function("_wbint_LookupSids").return {
215         if (!([tid(), "_wbint_LookupSids"] in dc_running))
216                 next
217
218         end = gettimeofday_us()
219         begin = dc_running[tid(), "_wbint_LookupSids"]
220         delete dc_running[tid(), "_wbint_LookupSids"]
221
222         duration = end - begin
223         dc_svctime["_wbint_LookupSids"] <<< duration
224 }
225
226 #
227 # winbind domain child function _wbint_LookupName
228 #
229
230 probe process("winbindd").function("_wbint_LookupName") {
231         dc_running[tid(), "_wbint_LookupName"] = gettimeofday_us()
232 }
233
234 probe process("winbindd").function("_wbint_LookupName").return {
235         if (!([tid(), "_wbint_LookupName"] in dc_running))
236                 next
237
238         end = gettimeofday_us()
239         begin = dc_running[tid(), "_wbint_LookupName"]
240         delete dc_running[tid(), "_wbint_LookupName"]
241
242         duration = end - begin
243         dc_svctime["_wbint_LookupName"] <<< duration
244 }
245
246 #
247 # winbind domain child function _wbint_Sids2UnixIDs
248 #
249
250 probe process("winbindd").function("_wbint_Sids2UnixIDs") {
251         dc_running[tid(), "_wbint_Sids2UnixIDs"] = gettimeofday_us()
252 }
253
254 probe process("winbindd").function("_wbint_Sids2UnixIDs").return {
255         if (!([tid(), "_wbint_Sids2UnixIDs"] in dc_running))
256                 next
257
258         end = gettimeofday_us()
259         begin = dc_running[tid(), "_wbint_Sids2UnixIDs"]
260         delete dc_running[tid(), "_wbint_Sids2UnixIDs"]
261
262         duration = end - begin
263         dc_svctime["_wbint_Sids2UnixIDs"] <<< duration
264 }
265
266 #
267 # winbind domain child function _wbint_UnixIDs2Sids
268 #
269
270 probe process("winbindd").function("_wbint_UnixIDs2Sids") {
271         dc_running[tid(), "_wbint_UnixIDs2Sids"] = gettimeofday_us()
272 }
273
274 probe process("winbindd").function("_wbint_UnixIDs2Sids").return {
275         if (!([tid(), "_wbint_UnixIDs2Sids"] in dc_running))
276                 next
277
278         end = gettimeofday_us()
279         begin = dc_running[tid(), "_wbint_UnixIDs2Sids"]
280         delete dc_running[tid(), "_wbint_UnixIDs2Sids"]
281
282         duration = end - begin
283         dc_svctime["_wbint_UnixIDs2Sids"] <<< duration
284 }
285
286 #
287 # winbind domain child function _wbint_AllocateUid
288 #
289
290 probe process("winbindd").function("_wbint_AllocateUid") {
291         dc_running[tid(), "_wbint_AllocateUid"] = gettimeofday_us()
292 }
293
294 probe process("winbindd").function("_wbint_AllocateUid").return {
295         if (!([tid(), "_wbint_AllocateUid"] in dc_running))
296                 next
297
298         end = gettimeofday_us()
299         begin = dc_running[tid(), "_wbint_AllocateUid"]
300         delete dc_running[tid(), "_wbint_AllocateUid"]
301
302         duration = end - begin
303         dc_svctime["_wbint_AllocateUid"] <<< duration
304 }
305
306 #
307 # winbind domain child function _wbint_AllocateGid
308 #
309
310 probe process("winbindd").function("_wbint_AllocateGid") {
311         dc_running[tid(), "_wbint_AllocateGid"] = gettimeofday_us()
312 }
313
314 probe process("winbindd").function("_wbint_AllocateGid").return {
315         if (!([tid(), "_wbint_AllocateGid"] in dc_running))
316                 next
317
318         end = gettimeofday_us()
319         begin = dc_running[tid(), "_wbint_AllocateGid"]
320         delete dc_running[tid(), "_wbint_AllocateGid"]
321
322         duration = end - begin
323         dc_svctime["_wbint_AllocateGid"] <<< duration
324 }
325
326 #
327 # winbind domain child function _wbint_GetNssInfo
328 #
329
330 probe process("winbindd").function("_wbint_GetNssInfo") {
331         dc_running[tid(), "_wbint_GetNssInfo"] = gettimeofday_us()
332 }
333
334 probe process("winbindd").function("_wbint_GetNssInfo").return {
335         if (!([tid(), "_wbint_GetNssInfo"] in dc_running))
336                 next
337
338         end = gettimeofday_us()
339         begin = dc_running[tid(), "_wbint_GetNssInfo"]
340         delete dc_running[tid(), "_wbint_GetNssInfo"]
341
342         duration = end - begin
343         dc_svctime["_wbint_GetNssInfo"] <<< duration
344 }
345
346 #
347 # winbind domain child function _wbint_LookupUserAliases
348 #
349
350 probe process("winbindd").function("_wbint_LookupUserAliases") {
351         dc_running[tid(), "_wbint_LookupUserAliases"] = gettimeofday_us()
352 }
353
354 probe process("winbindd").function("_wbint_LookupUserAliases").return {
355         if (!([tid(), "_wbint_LookupUserAliases"] in dc_running))
356                 next
357
358         end = gettimeofday_us()
359         begin = dc_running[tid(), "_wbint_LookupUserAliases"]
360         delete dc_running[tid(), "_wbint_LookupUserAliases"]
361
362         duration = end - begin
363         dc_svctime["_wbint_LookupUserAliases"] <<< duration
364 }
365
366 #
367 # winbind domain child function _wbint_LookupUserGroups
368 #
369
370 probe process("winbindd").function("_wbint_LookupUserGroups") {
371         dc_running[tid(), "_wbint_LookupUserGroups"] = gettimeofday_us()
372 }
373
374 probe process("winbindd").function("_wbint_LookupUserGroups").return {
375         if (!([tid(), "_wbint_LookupUserGroups"] in dc_running))
376                 next
377
378         end = gettimeofday_us()
379         begin = dc_running[tid(), "_wbint_LookupUserGroups"]
380         delete dc_running[tid(), "_wbint_LookupUserGroups"]
381
382         duration = end - begin
383         dc_svctime["_wbint_LookupUserGroups"] <<< duration
384 }
385
386 #
387 # winbind domain child function _wbint_QuerySequenceNumber
388 #
389
390 probe process("winbindd").function("_wbint_QuerySequenceNumber") {
391         dc_running[tid(), "_wbint_QuerySequenceNumber"] = gettimeofday_us()
392 }
393
394 probe process("winbindd").function("_wbint_QuerySequenceNumber").return {
395         if (!([tid(), "_wbint_QuerySequenceNumber"] in dc_running))
396                 next
397
398         end = gettimeofday_us()
399         begin = dc_running[tid(), "_wbint_QuerySequenceNumber"]
400         delete dc_running[tid(), "_wbint_QuerySequenceNumber"]
401
402         duration = end - begin
403         dc_svctime["_wbint_QuerySequenceNumber"] <<< duration
404 }
405
406 #
407 # winbind domain child function _wbint_LookupGroupMembers
408 #
409
410 probe process("winbindd").function("_wbint_LookupGroupMembers") {
411         dc_running[tid(), "_wbint_LookupGroupMembers"] = gettimeofday_us()
412 }
413
414 probe process("winbindd").function("_wbint_LookupGroupMembers").return {
415         if (!([tid(), "_wbint_LookupGroupMembers"] in dc_running))
416                 next
417
418         end = gettimeofday_us()
419         begin = dc_running[tid(), "_wbint_LookupGroupMembers"]
420         delete dc_running[tid(), "_wbint_LookupGroupMembers"]
421
422         duration = end - begin
423         dc_svctime["_wbint_LookupGroupMembers"] <<< duration
424 }
425
426 #
427 # winbind domain child function _wbint_QueryGroupList
428 #
429
430 probe process("winbindd").function("_wbint_QueryGroupList") {
431         dc_running[tid(), "_wbint_QueryGroupList"] = gettimeofday_us()
432 }
433
434 probe process("winbindd").function("_wbint_QueryGroupList").return {
435         if (!([tid(), "_wbint_QueryGroupList"] in dc_running))
436                 next
437
438         end = gettimeofday_us()
439         begin = dc_running[tid(), "_wbint_QueryGroupList"]
440         delete dc_running[tid(), "_wbint_QueryGroupList"]
441
442         duration = end - begin
443         dc_svctime["_wbint_QueryGroupList"] <<< duration
444 }
445
446 #
447 # winbind domain child function _wbint_QueryUserRidList
448 #
449
450 probe process("winbindd").function("_wbint_QueryUserRidList") {
451         dc_running[tid(), "_wbint_QueryUserRidList"] = gettimeofday_us()
452 }
453
454 probe process("winbindd").function("_wbint_QueryUserRidList").return {
455         if (!([tid(), "_wbint_QueryUserRidList"] in dc_running))
456                 next
457
458         end = gettimeofday_us()
459         begin = dc_running[tid(), "_wbint_QueryUserRidList"]
460         delete dc_running[tid(), "_wbint_QueryUserRidList"]
461
462         duration = end - begin
463         dc_svctime["_wbint_QueryUserRidList"] <<< duration
464 }
465
466 #
467 # winbind domain child function _wbint_DsGetDcName
468 #
469
470 probe process("winbindd").function("_wbint_DsGetDcName") {
471         dc_running[tid(), "_wbint_DsGetDcName"] = gettimeofday_us()
472 }
473
474 probe process("winbindd").function("_wbint_DsGetDcName").return {
475         if (!([tid(), "_wbint_DsGetDcName"] in dc_running))
476                 next
477
478         end = gettimeofday_us()
479         begin = dc_running[tid(), "_wbint_DsGetDcName"]
480         delete dc_running[tid(), "_wbint_DsGetDcName"]
481
482         duration = end - begin
483         dc_svctime["_wbint_DsGetDcName"] <<< duration
484 }
485
486 #
487 # winbind domain child function _wbint_LookupRids
488 #
489
490 probe process("winbindd").function("_wbint_LookupRids") {
491         dc_running[tid(), "_wbint_LookupRids"] = gettimeofday_us()
492 }
493
494 probe process("winbindd").function("_wbint_LookupRids").return {
495         if (!([tid(), "_wbint_LookupRids"] in dc_running))
496                 next
497
498         end = gettimeofday_us()
499         begin = dc_running[tid(), "_wbint_LookupRids"]
500         delete dc_running[tid(), "_wbint_LookupRids"]
501
502         duration = end - begin
503         dc_svctime["_wbint_LookupRids"] <<< duration
504 }
505
506 #
507 # winbind domain child function _wbint_CheckMachineAccount
508 #
509
510 probe process("winbindd").function("_wbint_CheckMachineAccount") {
511         dc_running[tid(), "_wbint_CheckMachineAccount"] = gettimeofday_us()
512 }
513
514 probe process("winbindd").function("_wbint_CheckMachineAccount").return {
515         if (!([tid(), "_wbint_CheckMachineAccount"] in dc_running))
516                 next
517
518         end = gettimeofday_us()
519         begin = dc_running[tid(), "_wbint_CheckMachineAccount"]
520         delete dc_running[tid(), "_wbint_CheckMachineAccount"]
521
522         duration = end - begin
523         dc_svctime["_wbint_CheckMachineAccount"] <<< duration
524 }
525
526 #
527 # winbind domain child function _wbint_ChangeMachineAccount
528 #
529
530 probe process("winbindd").function("_wbint_ChangeMachineAccount") {
531         dc_running[tid(), "_wbint_ChangeMachineAccount"] = gettimeofday_us()
532 }
533
534 probe process("winbindd").function("_wbint_ChangeMachineAccount").return {
535         if (!([tid(), "_wbint_ChangeMachineAccount"] in dc_running))
536                 next
537
538         end = gettimeofday_us()
539         begin = dc_running[tid(), "_wbint_ChangeMachineAccount"]
540         delete dc_running[tid(), "_wbint_ChangeMachineAccount"]
541
542         duration = end - begin
543         dc_svctime["_wbint_ChangeMachineAccount"] <<< duration
544 }
545
546 #
547 # winbind domain child function _wbint_PingDc
548 #
549
550 probe process("winbindd").function("_wbint_PingDc") {
551         dc_running[tid(), "_wbint_PingDc"] = gettimeofday_us()
552 }
553
554 probe process("winbindd").function("_wbint_PingDc").return {
555         if (!([tid(), "_wbint_PingDc"] in dc_running))
556                 next
557
558         end = gettimeofday_us()
559         begin = dc_running[tid(), "_wbint_PingDc"]
560         delete dc_running[tid(), "_wbint_PingDc"]
561
562         duration = end - begin
563         dc_svctime["_wbint_PingDc"] <<< duration
564 }
565
566 #
567 # winbind domain child backend function query_user_list
568 #
569
570 probe process("winbindd").function("query_user_list@../source3/winbindd/winbindd_ads.c") {
571         backend_running[tid(), "query_user_list"] = gettimeofday_us()
572 }
573
574 probe process("winbindd").function("query_user_list@../source3/winbindd/winbindd_ads.c").return {
575         if (!([tid(), "query_user_list"] in backend_running))
576                 next
577
578         end = gettimeofday_us()
579         begin = backend_running[tid(), "query_user_list"]
580         delete backend_running[tid(), "query_user_list"]
581
582         duration = end - begin
583         backend_svctime["query_user_list"] <<< duration
584 }
585
586 #
587 # winbind domain child backend function enum_dom_groups
588 #
589
590 probe process("winbindd").function("enum_dom_groups@../source3/winbindd/winbindd_ads.c") {
591         backend_running[tid(), "enum_dom_groups"] = gettimeofday_us()
592 }
593
594 probe process("winbindd").function("enum_dom_groups@../source3/winbindd/winbindd_ads.c").return {
595         if (!([tid(), "enum_dom_groups"] in backend_running))
596                 next
597
598         end = gettimeofday_us()
599         begin = backend_running[tid(), "enum_dom_groups"]
600         delete backend_running[tid(), "enum_dom_groups"]
601
602         duration = end - begin
603         backend_svctime["enum_dom_groups"] <<< duration
604 }
605
606 #
607 # winbind domain child backend function enum_local_groups
608 #
609
610 probe process("winbindd").function("enum_local_groups@../source3/winbindd/winbindd_ads.c") {
611         backend_running[tid(), "enum_local_groups"] = gettimeofday_us()
612 }
613
614 probe process("winbindd").function("enum_local_groups@../source3/winbindd/winbindd_ads.c").return {
615         if (!([tid(), "enum_local_groups"] in backend_running))
616                 next
617
618         end = gettimeofday_us()
619         begin = backend_running[tid(), "enum_local_groups"]
620         delete backend_running[tid(), "enum_local_groups"]
621
622         duration = end - begin
623         backend_svctime["enum_local_groups"] <<< duration
624 }
625
626 #
627 # winbind domain child backend function name_to_sid
628 #
629
630 probe process("winbindd").function("name_to_sid@../source3/winbindd/winbindd_ads.c") {
631         backend_running[tid(), "name_to_sid"] = gettimeofday_us()
632 }
633
634 probe process("winbindd").function("name_to_sid@../source3/winbindd/winbindd_ads.c").return {
635         if (!([tid(), "name_to_sid"] in backend_running))
636                 next
637
638         end = gettimeofday_us()
639         begin = backend_running[tid(), "name_to_sid"]
640         delete backend_running[tid(), "name_to_sid"]
641
642         duration = end - begin
643         backend_svctime["name_to_sid"] <<< duration
644 }
645
646 #
647 # winbind domain child backend function sid_to_name
648 #
649
650 probe process("winbindd").function("sid_to_name@../source3/winbindd/winbindd_ads.c") {
651         backend_running[tid(), "sid_to_name"] = gettimeofday_us()
652 }
653
654 probe process("winbindd").function("sid_to_name@../source3/winbindd/winbindd_ads.c").return {
655         if (!([tid(), "sid_to_name"] in backend_running))
656                 next
657
658         end = gettimeofday_us()
659         begin = backend_running[tid(), "sid_to_name"]
660         delete backend_running[tid(), "sid_to_name"]
661
662         duration = end - begin
663         backend_svctime["sid_to_name"] <<< duration
664 }
665
666 #
667 # winbind domain child backend function rids_to_names
668 #
669
670 probe process("winbindd").function("rids_to_names@../source3/winbindd/winbindd_ads.c") {
671         backend_running[tid(), "rids_to_names"] = gettimeofday_us()
672 }
673
674 probe process("winbindd").function("rids_to_names@../source3/winbindd/winbindd_ads.c").return {
675         if (!([tid(), "rids_to_names"] in backend_running))
676                 next
677
678         end = gettimeofday_us()
679         begin = backend_running[tid(), "rids_to_names"]
680         delete backend_running[tid(), "rids_to_names"]
681
682         duration = end - begin
683         backend_svctime["rids_to_names"] <<< duration
684 }
685
686 #
687 # winbind domain child backend function lookup_usergroups
688 #
689
690 probe process("winbindd").function("lookup_usergroups@../source3/winbindd/winbindd_ads.c") {
691         backend_running[tid(), "lookup_usergroups"] = gettimeofday_us()
692 }
693
694 probe process("winbindd").function("lookup_usergroups@../source3/winbindd/winbindd_ads.c").return {
695         if (!([tid(), "lookup_usergroups"] in backend_running))
696                 next
697
698         end = gettimeofday_us()
699         begin = backend_running[tid(), "lookup_usergroups"]
700         delete backend_running[tid(), "lookup_usergroups"]
701
702         duration = end - begin
703         backend_svctime["lookup_usergroups"] <<< duration
704 }
705
706 #
707 # winbind domain child backend function lookup_useraliases
708 #
709
710 probe process("winbindd").function("lookup_useraliases@../source3/winbindd/winbindd_ads.c") {
711         backend_running[tid(), "lookup_useraliases"] = gettimeofday_us()
712 }
713
714 probe process("winbindd").function("lookup_useraliases@../source3/winbindd/winbindd_ads.c").return {
715         if (!([tid(), "lookup_useraliases"] in backend_running))
716                 next
717
718         end = gettimeofday_us()
719         begin = backend_running[tid(), "lookup_useraliases"]
720         delete backend_running[tid(), "lookup_useraliases"]
721
722         duration = end - begin
723         backend_svctime["lookup_useraliases"] <<< duration
724 }
725
726 #
727 # winbind domain child backend function lookup_groupmem
728 #
729
730 probe process("winbindd").function("lookup_groupmem@../source3/winbindd/winbindd_ads.c") {
731         backend_running[tid(), "lookup_groupmem"] = gettimeofday_us()
732 }
733
734 probe process("winbindd").function("lookup_groupmem@../source3/winbindd/winbindd_ads.c").return {
735         if (!([tid(), "lookup_groupmem"] in backend_running))
736                 next
737
738         end = gettimeofday_us()
739         begin = backend_running[tid(), "lookup_groupmem"]
740         delete backend_running[tid(), "lookup_groupmem"]
741
742         duration = end - begin
743         backend_svctime["lookup_groupmem"] <<< duration
744 }
745
746 #
747 # winbind domain child backend function sequence_number
748 #
749
750 probe process("winbindd").function("sequence_number@../source3/winbindd/winbindd_ads.c") {
751         backend_running[tid(), "sequence_number"] = gettimeofday_us()
752 }
753
754 probe process("winbindd").function("sequence_number@../source3/winbindd/winbindd_ads.c").return {
755         if (!([tid(), "sequence_number"] in backend_running))
756                 next
757
758         end = gettimeofday_us()
759         begin = backend_running[tid(), "sequence_number"]
760         delete backend_running[tid(), "sequence_number"]
761
762         duration = end - begin
763         backend_svctime["sequence_number"] <<< duration
764 }
765
766 #
767 # winbind domain child backend function lockout_policy
768 #
769
770 probe process("winbindd").function("lockout_policy@../source3/winbindd/winbindd_ads.c") {
771         backend_running[tid(), "lockout_policy"] = gettimeofday_us()
772 }
773
774 probe process("winbindd").function("lockout_policy@../source3/winbindd/winbindd_ads.c").return {
775         if (!([tid(), "lockout_policy"] in backend_running))
776                 next
777
778         end = gettimeofday_us()
779         begin = backend_running[tid(), "lockout_policy"]
780         delete backend_running[tid(), "lockout_policy"]
781
782         duration = end - begin
783         backend_svctime["lockout_policy"] <<< duration
784 }
785
786 #
787 # winbind domain child backend function password_policy
788 #
789
790 probe process("winbindd").function("password_policy@../source3/winbindd/winbindd_ads.c") {
791         backend_running[tid(), "password_policy"] = gettimeofday_us()
792 }
793
794 probe process("winbindd").function("password_policy@../source3/winbindd/winbindd_ads.c").return {
795         if (!([tid(), "password_policy"] in backend_running))
796                 next
797
798         end = gettimeofday_us()
799         begin = backend_running[tid(), "password_policy"]
800         delete backend_running[tid(), "password_policy"]
801
802         duration = end - begin
803         backend_svctime["password_policy"] <<< duration
804 }
805
806 #
807 # winbind domain child backend function trusted_domains
808 #
809
810 probe process("winbindd").function("trusted_domains@../source3/winbindd/winbindd_ads.c") {
811         backend_running[tid(), "trusted_domains"] = gettimeofday_us()
812 }
813
814 probe process("winbindd").function("trusted_domains@../source3/winbindd/winbindd_ads.c").return {
815         if (!([tid(), "trusted_domains"] in backend_running))
816                 next
817
818         end = gettimeofday_us()
819         begin = backend_running[tid(), "trusted_domains"]
820         delete backend_running[tid(), "trusted_domains"]
821
822         duration = end - begin
823         backend_svctime["trusted_domains"] <<< duration
824 }
825
826 #
827 # winbind async function wb_ping
828 #
829
830 probe process("winbindd").function("wb_ping_send") {
831         send_running["wb_ping_send"] = gettimeofday_us()
832 }
833
834 probe process("winbindd").function("wb_ping_send").return {
835         if (!(["wb_ping_send"] in send_running))
836                 next
837
838         end = gettimeofday_us()
839         start = send_running["wb_ping_send"]
840         delete send_running["wb_ping_send"]
841
842         start_time["wb_ping_send", $return] = start
843         idle_time["wb_ping_send", $return] = end
844 }
845
846 probe process("winbindd").function("wb_ping_recv") {
847         if (!(["wb_ping_send", $req] in start_time))
848                 next
849
850         recv_running["wb_ping_recv"] = gettimeofday_us()
851 }
852
853 probe process("winbindd").function("wb_ping_recv").return {
854         if (!(["wb_ping_recv"] in recv_running))
855                 next
856
857         recv_end = gettimeofday_us()
858         recv_start = recv_running["wb_ping_recv"]
859         delete recv_running["wb_ping_recv"]
860         recv_runtime = recv_end - recv_start
861
862         req = @entry($req)
863
864         send_begin = start_time["wb_ping_send", req]
865         delete start_time["wb_ping_send", req]
866         svctime = recv_end - send_begin
867
868         idle = idle_time["wb_ping_send", req]
869         delete idle_time["wb_ping_send", req]
870         runtime = (idle - send_begin) + recv_runtime
871
872         async_svctime["wb_ping_send"] <<< svctime
873         async_runtime["wb_ping_send"] <<< runtime
874 }
875
876 #
877 # winbind async function winbindd_lookupsid
878 #
879
880 probe process("winbindd").function("winbindd_lookupsid_send") {
881         send_running["winbindd_lookupsid_send"] = gettimeofday_us()
882 }
883
884 probe process("winbindd").function("winbindd_lookupsid_send").return {
885         if (!(["winbindd_lookupsid_send"] in send_running))
886                 next
887
888         end = gettimeofday_us()
889         start = send_running["winbindd_lookupsid_send"]
890         delete send_running["winbindd_lookupsid_send"]
891
892         start_time["winbindd_lookupsid_send", $return] = start
893         idle_time["winbindd_lookupsid_send", $return] = end
894 }
895
896 probe process("winbindd").function("winbindd_lookupsid_recv") {
897         if (!(["winbindd_lookupsid_send", $req] in start_time))
898                 next
899
900         recv_running["winbindd_lookupsid_recv"] = gettimeofday_us()
901 }
902
903 probe process("winbindd").function("winbindd_lookupsid_recv").return {
904         if (!(["winbindd_lookupsid_recv"] in recv_running))
905                 next
906
907         recv_end = gettimeofday_us()
908         recv_start = recv_running["winbindd_lookupsid_recv"]
909         delete recv_running["winbindd_lookupsid_recv"]
910         recv_runtime = recv_end - recv_start
911
912         req = @entry($req)
913
914         send_begin = start_time["winbindd_lookupsid_send", req]
915         delete start_time["winbindd_lookupsid_send", req]
916         svctime = recv_end - send_begin
917
918         idle = idle_time["winbindd_lookupsid_send", req]
919         delete idle_time["winbindd_lookupsid_send", req]
920         runtime = (idle - send_begin) + recv_runtime
921
922         async_svctime["winbindd_lookupsid_send"] <<< svctime
923         async_runtime["winbindd_lookupsid_send"] <<< runtime
924 }
925
926 #
927 # winbind async function winbindd_lookupsids
928 #
929
930 probe process("winbindd").function("winbindd_lookupsids_send") {
931         send_running["winbindd_lookupsids_send"] = gettimeofday_us()
932 }
933
934 probe process("winbindd").function("winbindd_lookupsids_send").return {
935         if (!(["winbindd_lookupsids_send"] in send_running))
936                 next
937
938         end = gettimeofday_us()
939         start = send_running["winbindd_lookupsids_send"]
940         delete send_running["winbindd_lookupsids_send"]
941
942         start_time["winbindd_lookupsids_send", $return] = start
943         idle_time["winbindd_lookupsids_send", $return] = end
944 }
945
946 probe process("winbindd").function("winbindd_lookupsids_recv") {
947         if (!(["winbindd_lookupsids_send", $req] in start_time))
948                 next
949
950         recv_running["winbindd_lookupsids_recv"] = gettimeofday_us()
951 }
952
953 probe process("winbindd").function("winbindd_lookupsids_recv").return {
954         if (!(["winbindd_lookupsids_recv"] in recv_running))
955                 next
956
957         recv_end = gettimeofday_us()
958         recv_start = recv_running["winbindd_lookupsids_recv"]
959         delete recv_running["winbindd_lookupsids_recv"]
960         recv_runtime = recv_end - recv_start
961
962         req = @entry($req)
963
964         send_begin = start_time["winbindd_lookupsids_send", req]
965         delete start_time["winbindd_lookupsids_send", req]
966         svctime = recv_end - send_begin
967
968         idle = idle_time["winbindd_lookupsids_send", req]
969         delete idle_time["winbindd_lookupsids_send", req]
970         runtime = (idle - send_begin) + recv_runtime
971
972         async_svctime["winbindd_lookupsids_send"] <<< svctime
973         async_runtime["winbindd_lookupsids_send"] <<< runtime
974 }
975
976 #
977 # winbind async function winbindd_lookupname
978 #
979
980 probe process("winbindd").function("winbindd_lookupname_send") {
981         send_running["winbindd_lookupname_send"] = gettimeofday_us()
982 }
983
984 probe process("winbindd").function("winbindd_lookupname_send").return {
985         if (!(["winbindd_lookupname_send"] in send_running))
986                 next
987
988         end = gettimeofday_us()
989         start = send_running["winbindd_lookupname_send"]
990         delete send_running["winbindd_lookupname_send"]
991
992         start_time["winbindd_lookupname_send", $return] = start
993         idle_time["winbindd_lookupname_send", $return] = end
994 }
995
996 probe process("winbindd").function("winbindd_lookupname_recv") {
997         if (!(["winbindd_lookupname_send", $req] in start_time))
998                 next
999
1000         recv_running["winbindd_lookupname_recv"] = gettimeofday_us()
1001 }
1002
1003 probe process("winbindd").function("winbindd_lookupname_recv").return {
1004         if (!(["winbindd_lookupname_recv"] in recv_running))
1005                 next
1006
1007         recv_end = gettimeofday_us()
1008         recv_start = recv_running["winbindd_lookupname_recv"]
1009         delete recv_running["winbindd_lookupname_recv"]
1010         recv_runtime = recv_end - recv_start
1011
1012         req = @entry($req)
1013
1014         send_begin = start_time["winbindd_lookupname_send", req]
1015         delete start_time["winbindd_lookupname_send", req]
1016         svctime = recv_end - send_begin
1017
1018         idle = idle_time["winbindd_lookupname_send", req]
1019         delete idle_time["winbindd_lookupname_send", req]
1020         runtime = (idle - send_begin) + recv_runtime
1021
1022         async_svctime["winbindd_lookupname_send"] <<< svctime
1023         async_runtime["winbindd_lookupname_send"] <<< runtime
1024 }
1025
1026 #
1027 # winbind async function winbindd_sids_to_xids
1028 #
1029
1030 probe process("winbindd").function("winbindd_sids_to_xids_send") {
1031         send_running["winbindd_sids_to_xids_send"] = gettimeofday_us()
1032 }
1033
1034 probe process("winbindd").function("winbindd_sids_to_xids_send").return {
1035         if (!(["winbindd_sids_to_xids_send"] in send_running))
1036                 next
1037
1038         end = gettimeofday_us()
1039         start = send_running["winbindd_sids_to_xids_send"]
1040         delete send_running["winbindd_sids_to_xids_send"]
1041
1042         start_time["winbindd_sids_to_xids_send", $return] = start
1043         idle_time["winbindd_sids_to_xids_send", $return] = end
1044 }
1045
1046 probe process("winbindd").function("winbindd_sids_to_xids_recv") {
1047         if (!(["winbindd_sids_to_xids_send", $req] in start_time))
1048                 next
1049
1050         recv_running["winbindd_sids_to_xids_recv"] = gettimeofday_us()
1051 }
1052
1053 probe process("winbindd").function("winbindd_sids_to_xids_recv").return {
1054         if (!(["winbindd_sids_to_xids_recv"] in recv_running))
1055                 next
1056
1057         recv_end = gettimeofday_us()
1058         recv_start = recv_running["winbindd_sids_to_xids_recv"]
1059         delete recv_running["winbindd_sids_to_xids_recv"]
1060         recv_runtime = recv_end - recv_start
1061
1062         req = @entry($req)
1063
1064         send_begin = start_time["winbindd_sids_to_xids_send", req]
1065         delete start_time["winbindd_sids_to_xids_send", req]
1066         svctime = recv_end - send_begin
1067
1068         idle = idle_time["winbindd_sids_to_xids_send", req]
1069         delete idle_time["winbindd_sids_to_xids_send", req]
1070         runtime = (idle - send_begin) + recv_runtime
1071
1072         async_svctime["winbindd_sids_to_xids_send"] <<< svctime
1073         async_runtime["winbindd_sids_to_xids_send"] <<< runtime
1074 }
1075
1076 #
1077 # winbind async function winbindd_xids_to_sids
1078 #
1079
1080 probe process("winbindd").function("winbindd_xids_to_sids_send") {
1081         send_running["winbindd_xids_to_sids_send"] = gettimeofday_us()
1082 }
1083
1084 probe process("winbindd").function("winbindd_xids_to_sids_send").return {
1085         if (!(["winbindd_xids_to_sids_send"] in send_running))
1086                 next
1087
1088         end = gettimeofday_us()
1089         start = send_running["winbindd_xids_to_sids_send"]
1090         delete send_running["winbindd_xids_to_sids_send"]
1091
1092         start_time["winbindd_xids_to_sids_send", $return] = start
1093         idle_time["winbindd_xids_to_sids_send", $return] = end
1094 }
1095
1096 probe process("winbindd").function("winbindd_xids_to_sids_recv") {
1097         if (!(["winbindd_xids_to_sids_send", $req] in start_time))
1098                 next
1099
1100         recv_running["winbindd_xids_to_sids_recv"] = gettimeofday_us()
1101 }
1102
1103 probe process("winbindd").function("winbindd_xids_to_sids_recv").return {
1104         if (!(["winbindd_xids_to_sids_recv"] in recv_running))
1105                 next
1106
1107         recv_end = gettimeofday_us()
1108         recv_start = recv_running["winbindd_xids_to_sids_recv"]
1109         delete recv_running["winbindd_xids_to_sids_recv"]
1110         recv_runtime = recv_end - recv_start
1111
1112         req = @entry($req)
1113
1114         send_begin = start_time["winbindd_xids_to_sids_send", req]
1115         delete start_time["winbindd_xids_to_sids_send", req]
1116         svctime = recv_end - send_begin
1117
1118         idle = idle_time["winbindd_xids_to_sids_send", req]
1119         delete idle_time["winbindd_xids_to_sids_send", req]
1120         runtime = (idle - send_begin) + recv_runtime
1121
1122         async_svctime["winbindd_xids_to_sids_send"] <<< svctime
1123         async_runtime["winbindd_xids_to_sids_send"] <<< runtime
1124 }
1125
1126 #
1127 # winbind async function winbindd_getpwsid
1128 #
1129
1130 probe process("winbindd").function("winbindd_getpwsid_send") {
1131         send_running["winbindd_getpwsid_send"] = gettimeofday_us()
1132 }
1133
1134 probe process("winbindd").function("winbindd_getpwsid_send").return {
1135         if (!(["winbindd_getpwsid_send"] in send_running))
1136                 next
1137
1138         end = gettimeofday_us()
1139         start = send_running["winbindd_getpwsid_send"]
1140         delete send_running["winbindd_getpwsid_send"]
1141
1142         start_time["winbindd_getpwsid_send", $return] = start
1143         idle_time["winbindd_getpwsid_send", $return] = end
1144 }
1145
1146 probe process("winbindd").function("winbindd_getpwsid_recv") {
1147         if (!(["winbindd_getpwsid_send", $req] in start_time))
1148                 next
1149
1150         recv_running["winbindd_getpwsid_recv"] = gettimeofday_us()
1151 }
1152
1153 probe process("winbindd").function("winbindd_getpwsid_recv").return {
1154         if (!(["winbindd_getpwsid_recv"] in recv_running))
1155                 next
1156
1157         recv_end = gettimeofday_us()
1158         recv_start = recv_running["winbindd_getpwsid_recv"]
1159         delete recv_running["winbindd_getpwsid_recv"]
1160         recv_runtime = recv_end - recv_start
1161
1162         req = @entry($req)
1163
1164         send_begin = start_time["winbindd_getpwsid_send", req]
1165         delete start_time["winbindd_getpwsid_send", req]
1166         svctime = recv_end - send_begin
1167
1168         idle = idle_time["winbindd_getpwsid_send", req]
1169         delete idle_time["winbindd_getpwsid_send", req]
1170         runtime = (idle - send_begin) + recv_runtime
1171
1172         async_svctime["winbindd_getpwsid_send"] <<< svctime
1173         async_runtime["winbindd_getpwsid_send"] <<< runtime
1174 }
1175
1176 #
1177 # winbind async function winbindd_getpwnam
1178 #
1179
1180 probe process("winbindd").function("winbindd_getpwnam_send") {
1181         send_running["winbindd_getpwnam_send"] = gettimeofday_us()
1182 }
1183
1184 probe process("winbindd").function("winbindd_getpwnam_send").return {
1185         if (!(["winbindd_getpwnam_send"] in send_running))
1186                 next
1187
1188         end = gettimeofday_us()
1189         start = send_running["winbindd_getpwnam_send"]
1190         delete send_running["winbindd_getpwnam_send"]
1191
1192         start_time["winbindd_getpwnam_send", $return] = start
1193         idle_time["winbindd_getpwnam_send", $return] = end
1194 }
1195
1196 probe process("winbindd").function("winbindd_getpwnam_recv") {
1197         if (!(["winbindd_getpwnam_send", $req] in start_time))
1198                 next
1199
1200         recv_running["winbindd_getpwnam_recv"] = gettimeofday_us()
1201 }
1202
1203 probe process("winbindd").function("winbindd_getpwnam_recv").return {
1204         if (!(["winbindd_getpwnam_recv"] in recv_running))
1205                 next
1206
1207         recv_end = gettimeofday_us()
1208         recv_start = recv_running["winbindd_getpwnam_recv"]
1209         delete recv_running["winbindd_getpwnam_recv"]
1210         recv_runtime = recv_end - recv_start
1211
1212         req = @entry($req)
1213
1214         send_begin = start_time["winbindd_getpwnam_send", req]
1215         delete start_time["winbindd_getpwnam_send", req]
1216         svctime = recv_end - send_begin
1217
1218         idle = idle_time["winbindd_getpwnam_send", req]
1219         delete idle_time["winbindd_getpwnam_send", req]
1220         runtime = (idle - send_begin) + recv_runtime
1221
1222         async_svctime["winbindd_getpwnam_send"] <<< svctime
1223         async_runtime["winbindd_getpwnam_send"] <<< runtime
1224 }
1225
1226 #
1227 # winbind async function winbindd_getpwuid
1228 #
1229
1230 probe process("winbindd").function("winbindd_getpwuid_send") {
1231         send_running["winbindd_getpwuid_send"] = gettimeofday_us()
1232 }
1233
1234 probe process("winbindd").function("winbindd_getpwuid_send").return {
1235         if (!(["winbindd_getpwuid_send"] in send_running))
1236                 next
1237
1238         end = gettimeofday_us()
1239         start = send_running["winbindd_getpwuid_send"]
1240         delete send_running["winbindd_getpwuid_send"]
1241
1242         start_time["winbindd_getpwuid_send", $return] = start
1243         idle_time["winbindd_getpwuid_send", $return] = end
1244 }
1245
1246 probe process("winbindd").function("winbindd_getpwuid_recv") {
1247         if (!(["winbindd_getpwuid_send", $req] in start_time))
1248                 next
1249
1250         recv_running["winbindd_getpwuid_recv"] = gettimeofday_us()
1251 }
1252
1253 probe process("winbindd").function("winbindd_getpwuid_recv").return {
1254         if (!(["winbindd_getpwuid_recv"] in recv_running))
1255                 next
1256
1257         recv_end = gettimeofday_us()
1258         recv_start = recv_running["winbindd_getpwuid_recv"]
1259         delete recv_running["winbindd_getpwuid_recv"]
1260         recv_runtime = recv_end - recv_start
1261
1262         req = @entry($req)
1263
1264         send_begin = start_time["winbindd_getpwuid_send", req]
1265         delete start_time["winbindd_getpwuid_send", req]
1266         svctime = recv_end - send_begin
1267
1268         idle = idle_time["winbindd_getpwuid_send", req]
1269         delete idle_time["winbindd_getpwuid_send", req]
1270         runtime = (idle - send_begin) + recv_runtime
1271
1272         async_svctime["winbindd_getpwuid_send"] <<< svctime
1273         async_runtime["winbindd_getpwuid_send"] <<< runtime
1274 }
1275
1276 #
1277 # winbind async function winbindd_getsidaliases
1278 #
1279
1280 probe process("winbindd").function("winbindd_getsidaliases_send") {
1281         send_running["winbindd_getsidaliases_send"] = gettimeofday_us()
1282 }
1283
1284 probe process("winbindd").function("winbindd_getsidaliases_send").return {
1285         if (!(["winbindd_getsidaliases_send"] in send_running))
1286                 next
1287
1288         end = gettimeofday_us()
1289         start = send_running["winbindd_getsidaliases_send"]
1290         delete send_running["winbindd_getsidaliases_send"]
1291
1292         start_time["winbindd_getsidaliases_send", $return] = start
1293         idle_time["winbindd_getsidaliases_send", $return] = end
1294 }
1295
1296 probe process("winbindd").function("winbindd_getsidaliases_recv") {
1297         if (!(["winbindd_getsidaliases_send", $req] in start_time))
1298                 next
1299
1300         recv_running["winbindd_getsidaliases_recv"] = gettimeofday_us()
1301 }
1302
1303 probe process("winbindd").function("winbindd_getsidaliases_recv").return {
1304         if (!(["winbindd_getsidaliases_recv"] in recv_running))
1305                 next
1306
1307         recv_end = gettimeofday_us()
1308         recv_start = recv_running["winbindd_getsidaliases_recv"]
1309         delete recv_running["winbindd_getsidaliases_recv"]
1310         recv_runtime = recv_end - recv_start
1311
1312         req = @entry($req)
1313
1314         send_begin = start_time["winbindd_getsidaliases_send", req]
1315         delete start_time["winbindd_getsidaliases_send", req]
1316         svctime = recv_end - send_begin
1317
1318         idle = idle_time["winbindd_getsidaliases_send", req]
1319         delete idle_time["winbindd_getsidaliases_send", req]
1320         runtime = (idle - send_begin) + recv_runtime
1321
1322         async_svctime["winbindd_getsidaliases_send"] <<< svctime
1323         async_runtime["winbindd_getsidaliases_send"] <<< runtime
1324 }
1325
1326 #
1327 # winbind async function winbindd_getuserdomgroups
1328 #
1329
1330 probe process("winbindd").function("winbindd_getuserdomgroups_send") {
1331         send_running["winbindd_getuserdomgroups_send"] = gettimeofday_us()
1332 }
1333
1334 probe process("winbindd").function("winbindd_getuserdomgroups_send").return {
1335         if (!(["winbindd_getuserdomgroups_send"] in send_running))
1336                 next
1337
1338         end = gettimeofday_us()
1339         start = send_running["winbindd_getuserdomgroups_send"]
1340         delete send_running["winbindd_getuserdomgroups_send"]
1341
1342         start_time["winbindd_getuserdomgroups_send", $return] = start
1343         idle_time["winbindd_getuserdomgroups_send", $return] = end
1344 }
1345
1346 probe process("winbindd").function("winbindd_getuserdomgroups_recv") {
1347         if (!(["winbindd_getuserdomgroups_send", $req] in start_time))
1348                 next
1349
1350         recv_running["winbindd_getuserdomgroups_recv"] = gettimeofday_us()
1351 }
1352
1353 probe process("winbindd").function("winbindd_getuserdomgroups_recv").return {
1354         if (!(["winbindd_getuserdomgroups_recv"] in recv_running))
1355                 next
1356
1357         recv_end = gettimeofday_us()
1358         recv_start = recv_running["winbindd_getuserdomgroups_recv"]
1359         delete recv_running["winbindd_getuserdomgroups_recv"]
1360         recv_runtime = recv_end - recv_start
1361
1362         req = @entry($req)
1363
1364         send_begin = start_time["winbindd_getuserdomgroups_send", req]
1365         delete start_time["winbindd_getuserdomgroups_send", req]
1366         svctime = recv_end - send_begin
1367
1368         idle = idle_time["winbindd_getuserdomgroups_send", req]
1369         delete idle_time["winbindd_getuserdomgroups_send", req]
1370         runtime = (idle - send_begin) + recv_runtime
1371
1372         async_svctime["winbindd_getuserdomgroups_send"] <<< svctime
1373         async_runtime["winbindd_getuserdomgroups_send"] <<< runtime
1374 }
1375
1376 #
1377 # winbind async function winbindd_getgroups
1378 #
1379
1380 probe process("winbindd").function("winbindd_getgroups_send") {
1381         send_running["winbindd_getgroups_send"] = gettimeofday_us()
1382 }
1383
1384 probe process("winbindd").function("winbindd_getgroups_send").return {
1385         if (!(["winbindd_getgroups_send"] in send_running))
1386                 next
1387
1388         end = gettimeofday_us()
1389         start = send_running["winbindd_getgroups_send"]
1390         delete send_running["winbindd_getgroups_send"]
1391
1392         start_time["winbindd_getgroups_send", $return] = start
1393         idle_time["winbindd_getgroups_send", $return] = end
1394 }
1395
1396 probe process("winbindd").function("winbindd_getgroups_recv") {
1397         if (!(["winbindd_getgroups_send", $req] in start_time))
1398                 next
1399
1400         recv_running["winbindd_getgroups_recv"] = gettimeofday_us()
1401 }
1402
1403 probe process("winbindd").function("winbindd_getgroups_recv").return {
1404         if (!(["winbindd_getgroups_recv"] in recv_running))
1405                 next
1406
1407         recv_end = gettimeofday_us()
1408         recv_start = recv_running["winbindd_getgroups_recv"]
1409         delete recv_running["winbindd_getgroups_recv"]
1410         recv_runtime = recv_end - recv_start
1411
1412         req = @entry($req)
1413
1414         send_begin = start_time["winbindd_getgroups_send", req]
1415         delete start_time["winbindd_getgroups_send", req]
1416         svctime = recv_end - send_begin
1417
1418         idle = idle_time["winbindd_getgroups_send", req]
1419         delete idle_time["winbindd_getgroups_send", req]
1420         runtime = (idle - send_begin) + recv_runtime
1421
1422         async_svctime["winbindd_getgroups_send"] <<< svctime
1423         async_runtime["winbindd_getgroups_send"] <<< runtime
1424 }
1425
1426 #
1427 # winbind async function winbindd_show_sequence
1428 #
1429
1430 probe process("winbindd").function("winbindd_show_sequence_send") {
1431         send_running["winbindd_show_sequence_send"] = gettimeofday_us()
1432 }
1433
1434 probe process("winbindd").function("winbindd_show_sequence_send").return {
1435         if (!(["winbindd_show_sequence_send"] in send_running))
1436                 next
1437
1438         end = gettimeofday_us()
1439         start = send_running["winbindd_show_sequence_send"]
1440         delete send_running["winbindd_show_sequence_send"]
1441
1442         start_time["winbindd_show_sequence_send", $return] = start
1443         idle_time["winbindd_show_sequence_send", $return] = end
1444 }
1445
1446 probe process("winbindd").function("winbindd_show_sequence_recv") {
1447         if (!(["winbindd_show_sequence_send", $req] in start_time))
1448                 next
1449
1450         recv_running["winbindd_show_sequence_recv"] = gettimeofday_us()
1451 }
1452
1453 probe process("winbindd").function("winbindd_show_sequence_recv").return {
1454         if (!(["winbindd_show_sequence_recv"] in recv_running))
1455                 next
1456
1457         recv_end = gettimeofday_us()
1458         recv_start = recv_running["winbindd_show_sequence_recv"]
1459         delete recv_running["winbindd_show_sequence_recv"]
1460         recv_runtime = recv_end - recv_start
1461
1462         req = @entry($req)
1463
1464         send_begin = start_time["winbindd_show_sequence_send", req]
1465         delete start_time["winbindd_show_sequence_send", req]
1466         svctime = recv_end - send_begin
1467
1468         idle = idle_time["winbindd_show_sequence_send", req]
1469         delete idle_time["winbindd_show_sequence_send", req]
1470         runtime = (idle - send_begin) + recv_runtime
1471
1472         async_svctime["winbindd_show_sequence_send"] <<< svctime
1473         async_runtime["winbindd_show_sequence_send"] <<< runtime
1474 }
1475
1476 #
1477 # winbind async function winbindd_getgrgid
1478 #
1479
1480 probe process("winbindd").function("winbindd_getgrgid_send") {
1481         send_running["winbindd_getgrgid_send"] = gettimeofday_us()
1482 }
1483
1484 probe process("winbindd").function("winbindd_getgrgid_send").return {
1485         if (!(["winbindd_getgrgid_send"] in send_running))
1486                 next
1487
1488         end = gettimeofday_us()
1489         start = send_running["winbindd_getgrgid_send"]
1490         delete send_running["winbindd_getgrgid_send"]
1491
1492         start_time["winbindd_getgrgid_send", $return] = start
1493         idle_time["winbindd_getgrgid_send", $return] = end
1494 }
1495
1496 probe process("winbindd").function("winbindd_getgrgid_recv") {
1497         if (!(["winbindd_getgrgid_send", $req] in start_time))
1498                 next
1499
1500         recv_running["winbindd_getgrgid_recv"] = gettimeofday_us()
1501 }
1502
1503 probe process("winbindd").function("winbindd_getgrgid_recv").return {
1504         if (!(["winbindd_getgrgid_recv"] in recv_running))
1505                 next
1506
1507         recv_end = gettimeofday_us()
1508         recv_start = recv_running["winbindd_getgrgid_recv"]
1509         delete recv_running["winbindd_getgrgid_recv"]
1510         recv_runtime = recv_end - recv_start
1511
1512         req = @entry($req)
1513
1514         send_begin = start_time["winbindd_getgrgid_send", req]
1515         delete start_time["winbindd_getgrgid_send", req]
1516         svctime = recv_end - send_begin
1517
1518         idle = idle_time["winbindd_getgrgid_send", req]
1519         delete idle_time["winbindd_getgrgid_send", req]
1520         runtime = (idle - send_begin) + recv_runtime
1521
1522         async_svctime["winbindd_getgrgid_send"] <<< svctime
1523         async_runtime["winbindd_getgrgid_send"] <<< runtime
1524 }
1525
1526 #
1527 # winbind async function winbindd_getgrnam
1528 #
1529
1530 probe process("winbindd").function("winbindd_getgrnam_send") {
1531         send_running["winbindd_getgrnam_send"] = gettimeofday_us()
1532 }
1533
1534 probe process("winbindd").function("winbindd_getgrnam_send").return {
1535         if (!(["winbindd_getgrnam_send"] in send_running))
1536                 next
1537
1538         end = gettimeofday_us()
1539         start = send_running["winbindd_getgrnam_send"]
1540         delete send_running["winbindd_getgrnam_send"]
1541
1542         start_time["winbindd_getgrnam_send", $return] = start
1543         idle_time["winbindd_getgrnam_send", $return] = end
1544 }
1545
1546 probe process("winbindd").function("winbindd_getgrnam_recv") {
1547         if (!(["winbindd_getgrnam_send", $req] in start_time))
1548                 next
1549
1550         recv_running["winbindd_getgrnam_recv"] = gettimeofday_us()
1551 }
1552
1553 probe process("winbindd").function("winbindd_getgrnam_recv").return {
1554         if (!(["winbindd_getgrnam_recv"] in recv_running))
1555                 next
1556
1557         recv_end = gettimeofday_us()
1558         recv_start = recv_running["winbindd_getgrnam_recv"]
1559         delete recv_running["winbindd_getgrnam_recv"]
1560         recv_runtime = recv_end - recv_start
1561
1562         req = @entry($req)
1563
1564         send_begin = start_time["winbindd_getgrnam_send", req]
1565         delete start_time["winbindd_getgrnam_send", req]
1566         svctime = recv_end - send_begin
1567
1568         idle = idle_time["winbindd_getgrnam_send", req]
1569         delete idle_time["winbindd_getgrnam_send", req]
1570         runtime = (idle - send_begin) + recv_runtime
1571
1572         async_svctime["winbindd_getgrnam_send"] <<< svctime
1573         async_runtime["winbindd_getgrnam_send"] <<< runtime
1574 }
1575
1576 #
1577 # winbind async function winbindd_getusersids
1578 #
1579
1580 probe process("winbindd").function("winbindd_getusersids_send") {
1581         send_running["winbindd_getusersids_send"] = gettimeofday_us()
1582 }
1583
1584 probe process("winbindd").function("winbindd_getusersids_send").return {
1585         if (!(["winbindd_getusersids_send"] in send_running))
1586                 next
1587
1588         end = gettimeofday_us()
1589         start = send_running["winbindd_getusersids_send"]
1590         delete send_running["winbindd_getusersids_send"]
1591
1592         start_time["winbindd_getusersids_send", $return] = start
1593         idle_time["winbindd_getusersids_send", $return] = end
1594 }
1595
1596 probe process("winbindd").function("winbindd_getusersids_recv") {
1597         if (!(["winbindd_getusersids_send", $req] in start_time))
1598                 next
1599
1600         recv_running["winbindd_getusersids_recv"] = gettimeofday_us()
1601 }
1602
1603 probe process("winbindd").function("winbindd_getusersids_recv").return {
1604         if (!(["winbindd_getusersids_recv"] in recv_running))
1605                 next
1606
1607         recv_end = gettimeofday_us()
1608         recv_start = recv_running["winbindd_getusersids_recv"]
1609         delete recv_running["winbindd_getusersids_recv"]
1610         recv_runtime = recv_end - recv_start
1611
1612         req = @entry($req)
1613
1614         send_begin = start_time["winbindd_getusersids_send", req]
1615         delete start_time["winbindd_getusersids_send", req]
1616         svctime = recv_end - send_begin
1617
1618         idle = idle_time["winbindd_getusersids_send", req]
1619         delete idle_time["winbindd_getusersids_send", req]
1620         runtime = (idle - send_begin) + recv_runtime
1621
1622         async_svctime["winbindd_getusersids_send"] <<< svctime
1623         async_runtime["winbindd_getusersids_send"] <<< runtime
1624 }
1625
1626 #
1627 # winbind async function winbindd_lookuprids
1628 #
1629
1630 probe process("winbindd").function("winbindd_lookuprids_send") {
1631         send_running["winbindd_lookuprids_send"] = gettimeofday_us()
1632 }
1633
1634 probe process("winbindd").function("winbindd_lookuprids_send").return {
1635         if (!(["winbindd_lookuprids_send"] in send_running))
1636                 next
1637
1638         end = gettimeofday_us()
1639         start = send_running["winbindd_lookuprids_send"]
1640         delete send_running["winbindd_lookuprids_send"]
1641
1642         start_time["winbindd_lookuprids_send", $return] = start
1643         idle_time["winbindd_lookuprids_send", $return] = end
1644 }
1645
1646 probe process("winbindd").function("winbindd_lookuprids_recv") {
1647         if (!(["winbindd_lookuprids_send", $req] in start_time))
1648                 next
1649
1650         recv_running["winbindd_lookuprids_recv"] = gettimeofday_us()
1651 }
1652
1653 probe process("winbindd").function("winbindd_lookuprids_recv").return {
1654         if (!(["winbindd_lookuprids_recv"] in recv_running))
1655                 next
1656
1657         recv_end = gettimeofday_us()
1658         recv_start = recv_running["winbindd_lookuprids_recv"]
1659         delete recv_running["winbindd_lookuprids_recv"]
1660         recv_runtime = recv_end - recv_start
1661
1662         req = @entry($req)
1663
1664         send_begin = start_time["winbindd_lookuprids_send", req]
1665         delete start_time["winbindd_lookuprids_send", req]
1666         svctime = recv_end - send_begin
1667
1668         idle = idle_time["winbindd_lookuprids_send", req]
1669         delete idle_time["winbindd_lookuprids_send", req]
1670         runtime = (idle - send_begin) + recv_runtime
1671
1672         async_svctime["winbindd_lookuprids_send"] <<< svctime
1673         async_runtime["winbindd_lookuprids_send"] <<< runtime
1674 }
1675
1676 #
1677 # winbind async function winbindd_setpwent
1678 #
1679
1680 probe process("winbindd").function("winbindd_setpwent_send") {
1681         send_running["winbindd_setpwent_send"] = gettimeofday_us()
1682 }
1683
1684 probe process("winbindd").function("winbindd_setpwent_send").return {
1685         if (!(["winbindd_setpwent_send"] in send_running))
1686                 next
1687
1688         end = gettimeofday_us()
1689         start = send_running["winbindd_setpwent_send"]
1690         delete send_running["winbindd_setpwent_send"]
1691
1692         start_time["winbindd_setpwent_send", $return] = start
1693         idle_time["winbindd_setpwent_send", $return] = end
1694 }
1695
1696 probe process("winbindd").function("winbindd_setpwent_recv") {
1697         if (!(["winbindd_setpwent_send", $req] in start_time))
1698                 next
1699
1700         recv_running["winbindd_setpwent_recv"] = gettimeofday_us()
1701 }
1702
1703 probe process("winbindd").function("winbindd_setpwent_recv").return {
1704         if (!(["winbindd_setpwent_recv"] in recv_running))
1705                 next
1706
1707         recv_end = gettimeofday_us()
1708         recv_start = recv_running["winbindd_setpwent_recv"]
1709         delete recv_running["winbindd_setpwent_recv"]
1710         recv_runtime = recv_end - recv_start
1711
1712         req = @entry($req)
1713
1714         send_begin = start_time["winbindd_setpwent_send", req]
1715         delete start_time["winbindd_setpwent_send", req]
1716         svctime = recv_end - send_begin
1717
1718         idle = idle_time["winbindd_setpwent_send", req]
1719         delete idle_time["winbindd_setpwent_send", req]
1720         runtime = (idle - send_begin) + recv_runtime
1721
1722         async_svctime["winbindd_setpwent_send"] <<< svctime
1723         async_runtime["winbindd_setpwent_send"] <<< runtime
1724 }
1725
1726 #
1727 # winbind async function winbindd_getpwent
1728 #
1729
1730 probe process("winbindd").function("winbindd_getpwent_send") {
1731         send_running["winbindd_getpwent_send"] = gettimeofday_us()
1732 }
1733
1734 probe process("winbindd").function("winbindd_getpwent_send").return {
1735         if (!(["winbindd_getpwent_send"] in send_running))
1736                 next
1737
1738         end = gettimeofday_us()
1739         start = send_running["winbindd_getpwent_send"]
1740         delete send_running["winbindd_getpwent_send"]
1741
1742         start_time["winbindd_getpwent_send", $return] = start
1743         idle_time["winbindd_getpwent_send", $return] = end
1744 }
1745
1746 probe process("winbindd").function("winbindd_getpwent_recv") {
1747         if (!(["winbindd_getpwent_send", $req] in start_time))
1748                 next
1749
1750         recv_running["winbindd_getpwent_recv"] = gettimeofday_us()
1751 }
1752
1753 probe process("winbindd").function("winbindd_getpwent_recv").return {
1754         if (!(["winbindd_getpwent_recv"] in recv_running))
1755                 next
1756
1757         recv_end = gettimeofday_us()
1758         recv_start = recv_running["winbindd_getpwent_recv"]
1759         delete recv_running["winbindd_getpwent_recv"]
1760         recv_runtime = recv_end - recv_start
1761
1762         req = @entry($req)
1763
1764         send_begin = start_time["winbindd_getpwent_send", req]
1765         delete start_time["winbindd_getpwent_send", req]
1766         svctime = recv_end - send_begin
1767
1768         idle = idle_time["winbindd_getpwent_send", req]
1769         delete idle_time["winbindd_getpwent_send", req]
1770         runtime = (idle - send_begin) + recv_runtime
1771
1772         async_svctime["winbindd_getpwent_send"] <<< svctime
1773         async_runtime["winbindd_getpwent_send"] <<< runtime
1774 }
1775
1776 #
1777 # winbind async function winbindd_endpwent
1778 #
1779
1780 probe process("winbindd").function("winbindd_endpwent_send") {
1781         send_running["winbindd_endpwent_send"] = gettimeofday_us()
1782 }
1783
1784 probe process("winbindd").function("winbindd_endpwent_send").return {
1785         if (!(["winbindd_endpwent_send"] in send_running))
1786                 next
1787
1788         end = gettimeofday_us()
1789         start = send_running["winbindd_endpwent_send"]
1790         delete send_running["winbindd_endpwent_send"]
1791
1792         start_time["winbindd_endpwent_send", $return] = start
1793         idle_time["winbindd_endpwent_send", $return] = end
1794 }
1795
1796 probe process("winbindd").function("winbindd_endpwent_recv") {
1797         if (!(["winbindd_endpwent_send", $req] in start_time))
1798                 next
1799
1800         recv_running["winbindd_endpwent_recv"] = gettimeofday_us()
1801 }
1802
1803 probe process("winbindd").function("winbindd_endpwent_recv").return {
1804         if (!(["winbindd_endpwent_recv"] in recv_running))
1805                 next
1806
1807         recv_end = gettimeofday_us()
1808         recv_start = recv_running["winbindd_endpwent_recv"]
1809         delete recv_running["winbindd_endpwent_recv"]
1810         recv_runtime = recv_end - recv_start
1811
1812         req = @entry($req)
1813
1814         send_begin = start_time["winbindd_endpwent_send", req]
1815         delete start_time["winbindd_endpwent_send", req]
1816         svctime = recv_end - send_begin
1817
1818         idle = idle_time["winbindd_endpwent_send", req]
1819         delete idle_time["winbindd_endpwent_send", req]
1820         runtime = (idle - send_begin) + recv_runtime
1821
1822         async_svctime["winbindd_endpwent_send"] <<< svctime
1823         async_runtime["winbindd_endpwent_send"] <<< runtime
1824 }
1825
1826 #
1827 # winbind async function winbindd_dsgetdcname
1828 #
1829
1830 probe process("winbindd").function("winbindd_dsgetdcname_send") {
1831         send_running["winbindd_dsgetdcname_send"] = gettimeofday_us()
1832 }
1833
1834 probe process("winbindd").function("winbindd_dsgetdcname_send").return {
1835         if (!(["winbindd_dsgetdcname_send"] in send_running))
1836                 next
1837
1838         end = gettimeofday_us()
1839         start = send_running["winbindd_dsgetdcname_send"]
1840         delete send_running["winbindd_dsgetdcname_send"]
1841
1842         start_time["winbindd_dsgetdcname_send", $return] = start
1843         idle_time["winbindd_dsgetdcname_send", $return] = end
1844 }
1845
1846 probe process("winbindd").function("winbindd_dsgetdcname_recv") {
1847         if (!(["winbindd_dsgetdcname_send", $req] in start_time))
1848                 next
1849
1850         recv_running["winbindd_dsgetdcname_recv"] = gettimeofday_us()
1851 }
1852
1853 probe process("winbindd").function("winbindd_dsgetdcname_recv").return {
1854         if (!(["winbindd_dsgetdcname_recv"] in recv_running))
1855                 next
1856
1857         recv_end = gettimeofday_us()
1858         recv_start = recv_running["winbindd_dsgetdcname_recv"]
1859         delete recv_running["winbindd_dsgetdcname_recv"]
1860         recv_runtime = recv_end - recv_start
1861
1862         req = @entry($req)
1863
1864         send_begin = start_time["winbindd_dsgetdcname_send", req]
1865         delete start_time["winbindd_dsgetdcname_send", req]
1866         svctime = recv_end - send_begin
1867
1868         idle = idle_time["winbindd_dsgetdcname_send", req]
1869         delete idle_time["winbindd_dsgetdcname_send", req]
1870         runtime = (idle - send_begin) + recv_runtime
1871
1872         async_svctime["winbindd_dsgetdcname_send"] <<< svctime
1873         async_runtime["winbindd_dsgetdcname_send"] <<< runtime
1874 }
1875
1876 #
1877 # winbind async function winbindd_getdcname
1878 #
1879
1880 probe process("winbindd").function("winbindd_getdcname_send") {
1881         send_running["winbindd_getdcname_send"] = gettimeofday_us()
1882 }
1883
1884 probe process("winbindd").function("winbindd_getdcname_send").return {
1885         if (!(["winbindd_getdcname_send"] in send_running))
1886                 next
1887
1888         end = gettimeofday_us()
1889         start = send_running["winbindd_getdcname_send"]
1890         delete send_running["winbindd_getdcname_send"]
1891
1892         start_time["winbindd_getdcname_send", $return] = start
1893         idle_time["winbindd_getdcname_send", $return] = end
1894 }
1895
1896 probe process("winbindd").function("winbindd_getdcname_recv") {
1897         if (!(["winbindd_getdcname_send", $req] in start_time))
1898                 next
1899
1900         recv_running["winbindd_getdcname_recv"] = gettimeofday_us()
1901 }
1902
1903 probe process("winbindd").function("winbindd_getdcname_recv").return {
1904         if (!(["winbindd_getdcname_recv"] in recv_running))
1905                 next
1906
1907         recv_end = gettimeofday_us()
1908         recv_start = recv_running["winbindd_getdcname_recv"]
1909         delete recv_running["winbindd_getdcname_recv"]
1910         recv_runtime = recv_end - recv_start
1911
1912         req = @entry($req)
1913
1914         send_begin = start_time["winbindd_getdcname_send", req]
1915         delete start_time["winbindd_getdcname_send", req]
1916         svctime = recv_end - send_begin
1917
1918         idle = idle_time["winbindd_getdcname_send", req]
1919         delete idle_time["winbindd_getdcname_send", req]
1920         runtime = (idle - send_begin) + recv_runtime
1921
1922         async_svctime["winbindd_getdcname_send"] <<< svctime
1923         async_runtime["winbindd_getdcname_send"] <<< runtime
1924 }
1925
1926 #
1927 # winbind async function winbindd_setgrent
1928 #
1929
1930 probe process("winbindd").function("winbindd_setgrent_send") {
1931         send_running["winbindd_setgrent_send"] = gettimeofday_us()
1932 }
1933
1934 probe process("winbindd").function("winbindd_setgrent_send").return {
1935         if (!(["winbindd_setgrent_send"] in send_running))
1936                 next
1937
1938         end = gettimeofday_us()
1939         start = send_running["winbindd_setgrent_send"]
1940         delete send_running["winbindd_setgrent_send"]
1941
1942         start_time["winbindd_setgrent_send", $return] = start
1943         idle_time["winbindd_setgrent_send", $return] = end
1944 }
1945
1946 probe process("winbindd").function("winbindd_setgrent_recv") {
1947         if (!(["winbindd_setgrent_send", $req] in start_time))
1948                 next
1949
1950         recv_running["winbindd_setgrent_recv"] = gettimeofday_us()
1951 }
1952
1953 probe process("winbindd").function("winbindd_setgrent_recv").return {
1954         if (!(["winbindd_setgrent_recv"] in recv_running))
1955                 next
1956
1957         recv_end = gettimeofday_us()
1958         recv_start = recv_running["winbindd_setgrent_recv"]
1959         delete recv_running["winbindd_setgrent_recv"]
1960         recv_runtime = recv_end - recv_start
1961
1962         req = @entry($req)
1963
1964         send_begin = start_time["winbindd_setgrent_send", req]
1965         delete start_time["winbindd_setgrent_send", req]
1966         svctime = recv_end - send_begin
1967
1968         idle = idle_time["winbindd_setgrent_send", req]
1969         delete idle_time["winbindd_setgrent_send", req]
1970         runtime = (idle - send_begin) + recv_runtime
1971
1972         async_svctime["winbindd_setgrent_send"] <<< svctime
1973         async_runtime["winbindd_setgrent_send"] <<< runtime
1974 }
1975
1976 #
1977 # winbind async function winbindd_getgrent
1978 #
1979
1980 probe process("winbindd").function("winbindd_getgrent_send") {
1981         send_running["winbindd_getgrent_send"] = gettimeofday_us()
1982 }
1983
1984 probe process("winbindd").function("winbindd_getgrent_send").return {
1985         if (!(["winbindd_getgrent_send"] in send_running))
1986                 next
1987
1988         end = gettimeofday_us()
1989         start = send_running["winbindd_getgrent_send"]
1990         delete send_running["winbindd_getgrent_send"]
1991
1992         start_time["winbindd_getgrent_send", $return] = start
1993         idle_time["winbindd_getgrent_send", $return] = end
1994 }
1995
1996 probe process("winbindd").function("winbindd_getgrent_recv") {
1997         if (!(["winbindd_getgrent_send", $req] in start_time))
1998                 next
1999
2000         recv_running["winbindd_getgrent_recv"] = gettimeofday_us()
2001 }
2002
2003 probe process("winbindd").function("winbindd_getgrent_recv").return {
2004         if (!(["winbindd_getgrent_recv"] in recv_running))
2005                 next
2006
2007         recv_end = gettimeofday_us()
2008         recv_start = recv_running["winbindd_getgrent_recv"]
2009         delete recv_running["winbindd_getgrent_recv"]
2010         recv_runtime = recv_end - recv_start
2011
2012         req = @entry($req)
2013
2014         send_begin = start_time["winbindd_getgrent_send", req]
2015         delete start_time["winbindd_getgrent_send", req]
2016         svctime = recv_end - send_begin
2017
2018         idle = idle_time["winbindd_getgrent_send", req]
2019         delete idle_time["winbindd_getgrent_send", req]
2020         runtime = (idle - send_begin) + recv_runtime
2021
2022         async_svctime["winbindd_getgrent_send"] <<< svctime
2023         async_runtime["winbindd_getgrent_send"] <<< runtime
2024 }
2025
2026 #
2027 # winbind async function winbindd_endgrent
2028 #
2029
2030 probe process("winbindd").function("winbindd_endgrent_send") {
2031         send_running["winbindd_endgrent_send"] = gettimeofday_us()
2032 }
2033
2034 probe process("winbindd").function("winbindd_endgrent_send").return {
2035         if (!(["winbindd_endgrent_send"] in send_running))
2036                 next
2037
2038         end = gettimeofday_us()
2039         start = send_running["winbindd_endgrent_send"]
2040         delete send_running["winbindd_endgrent_send"]
2041
2042         start_time["winbindd_endgrent_send", $return] = start
2043         idle_time["winbindd_endgrent_send", $return] = end
2044 }
2045
2046 probe process("winbindd").function("winbindd_endgrent_recv") {
2047         if (!(["winbindd_endgrent_send", $req] in start_time))
2048                 next
2049
2050         recv_running["winbindd_endgrent_recv"] = gettimeofday_us()
2051 }
2052
2053 probe process("winbindd").function("winbindd_endgrent_recv").return {
2054         if (!(["winbindd_endgrent_recv"] in recv_running))
2055                 next
2056
2057         recv_end = gettimeofday_us()
2058         recv_start = recv_running["winbindd_endgrent_recv"]
2059         delete recv_running["winbindd_endgrent_recv"]
2060         recv_runtime = recv_end - recv_start
2061
2062         req = @entry($req)
2063
2064         send_begin = start_time["winbindd_endgrent_send", req]
2065         delete start_time["winbindd_endgrent_send", req]
2066         svctime = recv_end - send_begin
2067
2068         idle = idle_time["winbindd_endgrent_send", req]
2069         delete idle_time["winbindd_endgrent_send", req]
2070         runtime = (idle - send_begin) + recv_runtime
2071
2072         async_svctime["winbindd_endgrent_send"] <<< svctime
2073         async_runtime["winbindd_endgrent_send"] <<< runtime
2074 }
2075
2076 #
2077 # winbind async function winbindd_list_users
2078 #
2079
2080 probe process("winbindd").function("winbindd_list_users_send") {
2081         send_running["winbindd_list_users_send"] = gettimeofday_us()
2082 }
2083
2084 probe process("winbindd").function("winbindd_list_users_send").return {
2085         if (!(["winbindd_list_users_send"] in send_running))
2086                 next
2087
2088         end = gettimeofday_us()
2089         start = send_running["winbindd_list_users_send"]
2090         delete send_running["winbindd_list_users_send"]
2091
2092         start_time["winbindd_list_users_send", $return] = start
2093         idle_time["winbindd_list_users_send", $return] = end
2094 }
2095
2096 probe process("winbindd").function("winbindd_list_users_recv") {
2097         if (!(["winbindd_list_users_send", $req] in start_time))
2098                 next
2099
2100         recv_running["winbindd_list_users_recv"] = gettimeofday_us()
2101 }
2102
2103 probe process("winbindd").function("winbindd_list_users_recv").return {
2104         if (!(["winbindd_list_users_recv"] in recv_running))
2105                 next
2106
2107         recv_end = gettimeofday_us()
2108         recv_start = recv_running["winbindd_list_users_recv"]
2109         delete recv_running["winbindd_list_users_recv"]
2110         recv_runtime = recv_end - recv_start
2111
2112         req = @entry($req)
2113
2114         send_begin = start_time["winbindd_list_users_send", req]
2115         delete start_time["winbindd_list_users_send", req]
2116         svctime = recv_end - send_begin
2117
2118         idle = idle_time["winbindd_list_users_send", req]
2119         delete idle_time["winbindd_list_users_send", req]
2120         runtime = (idle - send_begin) + recv_runtime
2121
2122         async_svctime["winbindd_list_users_send"] <<< svctime
2123         async_runtime["winbindd_list_users_send"] <<< runtime
2124 }
2125
2126 #
2127 # winbind async function winbindd_list_groups
2128 #
2129
2130 probe process("winbindd").function("winbindd_list_groups_send") {
2131         send_running["winbindd_list_groups_send"] = gettimeofday_us()
2132 }
2133
2134 probe process("winbindd").function("winbindd_list_groups_send").return {
2135         if (!(["winbindd_list_groups_send"] in send_running))
2136                 next
2137
2138         end = gettimeofday_us()
2139         start = send_running["winbindd_list_groups_send"]
2140         delete send_running["winbindd_list_groups_send"]
2141
2142         start_time["winbindd_list_groups_send", $return] = start
2143         idle_time["winbindd_list_groups_send", $return] = end
2144 }
2145
2146 probe process("winbindd").function("winbindd_list_groups_recv") {
2147         if (!(["winbindd_list_groups_send", $req] in start_time))
2148                 next
2149
2150         recv_running["winbindd_list_groups_recv"] = gettimeofday_us()
2151 }
2152
2153 probe process("winbindd").function("winbindd_list_groups_recv").return {
2154         if (!(["winbindd_list_groups_recv"] in recv_running))
2155                 next
2156
2157         recv_end = gettimeofday_us()
2158         recv_start = recv_running["winbindd_list_groups_recv"]
2159         delete recv_running["winbindd_list_groups_recv"]
2160         recv_runtime = recv_end - recv_start
2161
2162         req = @entry($req)
2163
2164         send_begin = start_time["winbindd_list_groups_send", req]
2165         delete start_time["winbindd_list_groups_send", req]
2166         svctime = recv_end - send_begin
2167
2168         idle = idle_time["winbindd_list_groups_send", req]
2169         delete idle_time["winbindd_list_groups_send", req]
2170         runtime = (idle - send_begin) + recv_runtime
2171
2172         async_svctime["winbindd_list_groups_send"] <<< svctime
2173         async_runtime["winbindd_list_groups_send"] <<< runtime
2174 }
2175
2176 #
2177 # winbind async function winbindd_check_machine_acct
2178 #
2179
2180 probe process("winbindd").function("winbindd_check_machine_acct_send") {
2181         send_running["winbindd_check_machine_acct_send"] = gettimeofday_us()
2182 }
2183
2184 probe process("winbindd").function("winbindd_check_machine_acct_send").return {
2185         if (!(["winbindd_check_machine_acct_send"] in send_running))
2186                 next
2187
2188         end = gettimeofday_us()
2189         start = send_running["winbindd_check_machine_acct_send"]
2190         delete send_running["winbindd_check_machine_acct_send"]
2191
2192         start_time["winbindd_check_machine_acct_send", $return] = start
2193         idle_time["winbindd_check_machine_acct_send", $return] = end
2194 }
2195
2196 probe process("winbindd").function("winbindd_check_machine_acct_recv") {
2197         if (!(["winbindd_check_machine_acct_send", $req] in start_time))
2198                 next
2199
2200         recv_running["winbindd_check_machine_acct_recv"] = gettimeofday_us()
2201 }
2202
2203 probe process("winbindd").function("winbindd_check_machine_acct_recv").return {
2204         if (!(["winbindd_check_machine_acct_recv"] in recv_running))
2205                 next
2206
2207         recv_end = gettimeofday_us()
2208         recv_start = recv_running["winbindd_check_machine_acct_recv"]
2209         delete recv_running["winbindd_check_machine_acct_recv"]
2210         recv_runtime = recv_end - recv_start
2211
2212         req = @entry($req)
2213
2214         send_begin = start_time["winbindd_check_machine_acct_send", req]
2215         delete start_time["winbindd_check_machine_acct_send", req]
2216         svctime = recv_end - send_begin
2217
2218         idle = idle_time["winbindd_check_machine_acct_send", req]
2219         delete idle_time["winbindd_check_machine_acct_send", req]
2220         runtime = (idle - send_begin) + recv_runtime
2221
2222         async_svctime["winbindd_check_machine_acct_send"] <<< svctime
2223         async_runtime["winbindd_check_machine_acct_send"] <<< runtime
2224 }
2225
2226 #
2227 # winbind async function winbindd_ping_dc
2228 #
2229
2230 probe process("winbindd").function("winbindd_ping_dc_send") {
2231         send_running["winbindd_ping_dc_send"] = gettimeofday_us()
2232 }
2233
2234 probe process("winbindd").function("winbindd_ping_dc_send").return {
2235         if (!(["winbindd_ping_dc_send"] in send_running))
2236                 next
2237
2238         end = gettimeofday_us()
2239         start = send_running["winbindd_ping_dc_send"]
2240         delete send_running["winbindd_ping_dc_send"]
2241
2242         start_time["winbindd_ping_dc_send", $return] = start
2243         idle_time["winbindd_ping_dc_send", $return] = end
2244 }
2245
2246 probe process("winbindd").function("winbindd_ping_dc_recv") {
2247         if (!(["winbindd_ping_dc_send", $req] in start_time))
2248                 next
2249
2250         recv_running["winbindd_ping_dc_recv"] = gettimeofday_us()
2251 }
2252
2253 probe process("winbindd").function("winbindd_ping_dc_recv").return {
2254         if (!(["winbindd_ping_dc_recv"] in recv_running))
2255                 next
2256
2257         recv_end = gettimeofday_us()
2258         recv_start = recv_running["winbindd_ping_dc_recv"]
2259         delete recv_running["winbindd_ping_dc_recv"]
2260         recv_runtime = recv_end - recv_start
2261
2262         req = @entry($req)
2263
2264         send_begin = start_time["winbindd_ping_dc_send", req]
2265         delete start_time["winbindd_ping_dc_send", req]
2266         svctime = recv_end - send_begin
2267
2268         idle = idle_time["winbindd_ping_dc_send", req]
2269         delete idle_time["winbindd_ping_dc_send", req]
2270         runtime = (idle - send_begin) + recv_runtime
2271
2272         async_svctime["winbindd_ping_dc_send"] <<< svctime
2273         async_runtime["winbindd_ping_dc_send"] <<< runtime
2274 }
2275
2276 #
2277 # winbind async function winbindd_pam_auth
2278 #
2279
2280 probe process("winbindd").function("winbindd_pam_auth_send") {
2281         send_running["winbindd_pam_auth_send"] = gettimeofday_us()
2282 }
2283
2284 probe process("winbindd").function("winbindd_pam_auth_send").return {
2285         if (!(["winbindd_pam_auth_send"] in send_running))
2286                 next
2287
2288         end = gettimeofday_us()
2289         start = send_running["winbindd_pam_auth_send"]
2290         delete send_running["winbindd_pam_auth_send"]
2291
2292         start_time["winbindd_pam_auth_send", $return] = start
2293         idle_time["winbindd_pam_auth_send", $return] = end
2294 }
2295
2296 probe process("winbindd").function("winbindd_pam_auth_recv") {
2297         if (!(["winbindd_pam_auth_send", $req] in start_time))
2298                 next
2299
2300         recv_running["winbindd_pam_auth_recv"] = gettimeofday_us()
2301 }
2302
2303 probe process("winbindd").function("winbindd_pam_auth_recv").return {
2304         if (!(["winbindd_pam_auth_recv"] in recv_running))
2305                 next
2306
2307         recv_end = gettimeofday_us()
2308         recv_start = recv_running["winbindd_pam_auth_recv"]
2309         delete recv_running["winbindd_pam_auth_recv"]
2310         recv_runtime = recv_end - recv_start
2311
2312         req = @entry($req)
2313
2314         send_begin = start_time["winbindd_pam_auth_send", req]
2315         delete start_time["winbindd_pam_auth_send", req]
2316         svctime = recv_end - send_begin
2317
2318         idle = idle_time["winbindd_pam_auth_send", req]
2319         delete idle_time["winbindd_pam_auth_send", req]
2320         runtime = (idle - send_begin) + recv_runtime
2321
2322         async_svctime["winbindd_pam_auth_send"] <<< svctime
2323         async_runtime["winbindd_pam_auth_send"] <<< runtime
2324 }
2325
2326 #
2327 # winbind async function winbindd_pam_logoff
2328 #
2329
2330 probe process("winbindd").function("winbindd_pam_logoff_send") {
2331         send_running["winbindd_pam_logoff_send"] = gettimeofday_us()
2332 }
2333
2334 probe process("winbindd").function("winbindd_pam_logoff_send").return {
2335         if (!(["winbindd_pam_logoff_send"] in send_running))
2336                 next
2337
2338         end = gettimeofday_us()
2339         start = send_running["winbindd_pam_logoff_send"]
2340         delete send_running["winbindd_pam_logoff_send"]
2341
2342         start_time["winbindd_pam_logoff_send", $return] = start
2343         idle_time["winbindd_pam_logoff_send", $return] = end
2344 }
2345
2346 probe process("winbindd").function("winbindd_pam_logoff_recv") {
2347         if (!(["winbindd_pam_logoff_send", $req] in start_time))
2348                 next
2349
2350         recv_running["winbindd_pam_logoff_recv"] = gettimeofday_us()
2351 }
2352
2353 probe process("winbindd").function("winbindd_pam_logoff_recv").return {
2354         if (!(["winbindd_pam_logoff_recv"] in recv_running))
2355                 next
2356
2357         recv_end = gettimeofday_us()
2358         recv_start = recv_running["winbindd_pam_logoff_recv"]
2359         delete recv_running["winbindd_pam_logoff_recv"]
2360         recv_runtime = recv_end - recv_start
2361
2362         req = @entry($req)
2363
2364         send_begin = start_time["winbindd_pam_logoff_send", req]
2365         delete start_time["winbindd_pam_logoff_send", req]
2366         svctime = recv_end - send_begin
2367
2368         idle = idle_time["winbindd_pam_logoff_send", req]
2369         delete idle_time["winbindd_pam_logoff_send", req]
2370         runtime = (idle - send_begin) + recv_runtime
2371
2372         async_svctime["winbindd_pam_logoff_send"] <<< svctime
2373         async_runtime["winbindd_pam_logoff_send"] <<< runtime
2374 }
2375
2376 #
2377 # winbind async function winbindd_pam_chauthtok
2378 #
2379
2380 probe process("winbindd").function("winbindd_pam_chauthtok_send") {
2381         send_running["winbindd_pam_chauthtok_send"] = gettimeofday_us()
2382 }
2383
2384 probe process("winbindd").function("winbindd_pam_chauthtok_send").return {
2385         if (!(["winbindd_pam_chauthtok_send"] in send_running))
2386                 next
2387
2388         end = gettimeofday_us()
2389         start = send_running["winbindd_pam_chauthtok_send"]
2390         delete send_running["winbindd_pam_chauthtok_send"]
2391
2392         start_time["winbindd_pam_chauthtok_send", $return] = start
2393         idle_time["winbindd_pam_chauthtok_send", $return] = end
2394 }
2395
2396 probe process("winbindd").function("winbindd_pam_chauthtok_recv") {
2397         if (!(["winbindd_pam_chauthtok_send", $req] in start_time))
2398                 next
2399
2400         recv_running["winbindd_pam_chauthtok_recv"] = gettimeofday_us()
2401 }
2402
2403 probe process("winbindd").function("winbindd_pam_chauthtok_recv").return {
2404         if (!(["winbindd_pam_chauthtok_recv"] in recv_running))
2405                 next
2406
2407         recv_end = gettimeofday_us()
2408         recv_start = recv_running["winbindd_pam_chauthtok_recv"]
2409         delete recv_running["winbindd_pam_chauthtok_recv"]
2410         recv_runtime = recv_end - recv_start
2411
2412         req = @entry($req)
2413
2414         send_begin = start_time["winbindd_pam_chauthtok_send", req]
2415         delete start_time["winbindd_pam_chauthtok_send", req]
2416         svctime = recv_end - send_begin
2417
2418         idle = idle_time["winbindd_pam_chauthtok_send", req]
2419         delete idle_time["winbindd_pam_chauthtok_send", req]
2420         runtime = (idle - send_begin) + recv_runtime
2421
2422         async_svctime["winbindd_pam_chauthtok_send"] <<< svctime
2423         async_runtime["winbindd_pam_chauthtok_send"] <<< runtime
2424 }
2425
2426 #
2427 # winbind async function winbindd_pam_chng_pswd_auth_crap
2428 #
2429
2430 probe process("winbindd").function("winbindd_pam_chng_pswd_auth_crap_send") {
2431         send_running["winbindd_pam_chng_pswd_auth_crap_send"] = gettimeofday_us()
2432 }
2433
2434 probe process("winbindd").function("winbindd_pam_chng_pswd_auth_crap_send").return {
2435         if (!(["winbindd_pam_chng_pswd_auth_crap_send"] in send_running))
2436                 next
2437
2438         end = gettimeofday_us()
2439         start = send_running["winbindd_pam_chng_pswd_auth_crap_send"]
2440         delete send_running["winbindd_pam_chng_pswd_auth_crap_send"]
2441
2442         start_time["winbindd_pam_chng_pswd_auth_crap_send", $return] = start
2443         idle_time["winbindd_pam_chng_pswd_auth_crap_send", $return] = end
2444 }
2445
2446 probe process("winbindd").function("winbindd_pam_chng_pswd_auth_crap_recv") {
2447         if (!(["winbindd_pam_chng_pswd_auth_crap_send", $req] in start_time))
2448                 next
2449
2450         recv_running["winbindd_pam_chng_pswd_auth_crap_recv"] = gettimeofday_us()
2451 }
2452
2453 probe process("winbindd").function("winbindd_pam_chng_pswd_auth_crap_recv").return {
2454         if (!(["winbindd_pam_chng_pswd_auth_crap_recv"] in recv_running))
2455                 next
2456
2457         recv_end = gettimeofday_us()
2458         recv_start = recv_running["winbindd_pam_chng_pswd_auth_crap_recv"]
2459         delete recv_running["winbindd_pam_chng_pswd_auth_crap_recv"]
2460         recv_runtime = recv_end - recv_start
2461
2462         req = @entry($req)
2463
2464         send_begin = start_time["winbindd_pam_chng_pswd_auth_crap_send", req]
2465         delete start_time["winbindd_pam_chng_pswd_auth_crap_send", req]
2466         svctime = recv_end - send_begin
2467
2468         idle = idle_time["winbindd_pam_chng_pswd_auth_crap_send", req]
2469         delete idle_time["winbindd_pam_chng_pswd_auth_crap_send", req]
2470         runtime = (idle - send_begin) + recv_runtime
2471
2472         async_svctime["winbindd_pam_chng_pswd_auth_crap_send"] <<< svctime
2473         async_runtime["winbindd_pam_chng_pswd_auth_crap_send"] <<< runtime
2474 }
2475
2476 #
2477 # winbind async function winbindd_wins_byip
2478 #
2479
2480 probe process("winbindd").function("winbindd_wins_byip_send") {
2481         send_running["winbindd_wins_byip_send"] = gettimeofday_us()
2482 }
2483
2484 probe process("winbindd").function("winbindd_wins_byip_send").return {
2485         if (!(["winbindd_wins_byip_send"] in send_running))
2486                 next
2487
2488         end = gettimeofday_us()
2489         start = send_running["winbindd_wins_byip_send"]
2490         delete send_running["winbindd_wins_byip_send"]
2491
2492         start_time["winbindd_wins_byip_send", $return] = start
2493         idle_time["winbindd_wins_byip_send", $return] = end
2494 }
2495
2496 probe process("winbindd").function("winbindd_wins_byip_recv") {
2497         if (!(["winbindd_wins_byip_send", $req] in start_time))
2498                 next
2499
2500         recv_running["winbindd_wins_byip_recv"] = gettimeofday_us()
2501 }
2502
2503 probe process("winbindd").function("winbindd_wins_byip_recv").return {
2504         if (!(["winbindd_wins_byip_recv"] in recv_running))
2505                 next
2506
2507         recv_end = gettimeofday_us()
2508         recv_start = recv_running["winbindd_wins_byip_recv"]
2509         delete recv_running["winbindd_wins_byip_recv"]
2510         recv_runtime = recv_end - recv_start
2511
2512         req = @entry($req)
2513
2514         send_begin = start_time["winbindd_wins_byip_send", req]
2515         delete start_time["winbindd_wins_byip_send", req]
2516         svctime = recv_end - send_begin
2517
2518         idle = idle_time["winbindd_wins_byip_send", req]
2519         delete idle_time["winbindd_wins_byip_send", req]
2520         runtime = (idle - send_begin) + recv_runtime
2521
2522         async_svctime["winbindd_wins_byip_send"] <<< svctime
2523         async_runtime["winbindd_wins_byip_send"] <<< runtime
2524 }
2525
2526 #
2527 # winbind async function winbindd_wins_byname
2528 #
2529
2530 probe process("winbindd").function("winbindd_wins_byname_send") {
2531         send_running["winbindd_wins_byname_send"] = gettimeofday_us()
2532 }
2533
2534 probe process("winbindd").function("winbindd_wins_byname_send").return {
2535         if (!(["winbindd_wins_byname_send"] in send_running))
2536                 next
2537
2538         end = gettimeofday_us()
2539         start = send_running["winbindd_wins_byname_send"]
2540         delete send_running["winbindd_wins_byname_send"]
2541
2542         start_time["winbindd_wins_byname_send", $return] = start
2543         idle_time["winbindd_wins_byname_send", $return] = end
2544 }
2545
2546 probe process("winbindd").function("winbindd_wins_byname_recv") {
2547         if (!(["winbindd_wins_byname_send", $req] in start_time))
2548                 next
2549
2550         recv_running["winbindd_wins_byname_recv"] = gettimeofday_us()
2551 }
2552
2553 probe process("winbindd").function("winbindd_wins_byname_recv").return {
2554         if (!(["winbindd_wins_byname_recv"] in recv_running))
2555                 next
2556
2557         recv_end = gettimeofday_us()
2558         recv_start = recv_running["winbindd_wins_byname_recv"]
2559         delete recv_running["winbindd_wins_byname_recv"]
2560         recv_runtime = recv_end - recv_start
2561
2562         req = @entry($req)
2563
2564         send_begin = start_time["winbindd_wins_byname_send", req]
2565         delete start_time["winbindd_wins_byname_send", req]
2566         svctime = recv_end - send_begin
2567
2568         idle = idle_time["winbindd_wins_byname_send", req]
2569         delete idle_time["winbindd_wins_byname_send", req]
2570         runtime = (idle - send_begin) + recv_runtime
2571
2572         async_svctime["winbindd_wins_byname_send"] <<< svctime
2573         async_runtime["winbindd_wins_byname_send"] <<< runtime
2574 }
2575
2576 #
2577 # winbind async function winbindd_allocate_uid
2578 #
2579
2580 probe process("winbindd").function("winbindd_allocate_uid_send") {
2581         send_running["winbindd_allocate_uid_send"] = gettimeofday_us()
2582 }
2583
2584 probe process("winbindd").function("winbindd_allocate_uid_send").return {
2585         if (!(["winbindd_allocate_uid_send"] in send_running))
2586                 next
2587
2588         end = gettimeofday_us()
2589         start = send_running["winbindd_allocate_uid_send"]
2590         delete send_running["winbindd_allocate_uid_send"]
2591
2592         start_time["winbindd_allocate_uid_send", $return] = start
2593         idle_time["winbindd_allocate_uid_send", $return] = end
2594 }
2595
2596 probe process("winbindd").function("winbindd_allocate_uid_recv") {
2597         if (!(["winbindd_allocate_uid_send", $req] in start_time))
2598                 next
2599
2600         recv_running["winbindd_allocate_uid_recv"] = gettimeofday_us()
2601 }
2602
2603 probe process("winbindd").function("winbindd_allocate_uid_recv").return {
2604         if (!(["winbindd_allocate_uid_recv"] in recv_running))
2605                 next
2606
2607         recv_end = gettimeofday_us()
2608         recv_start = recv_running["winbindd_allocate_uid_recv"]
2609         delete recv_running["winbindd_allocate_uid_recv"]
2610         recv_runtime = recv_end - recv_start
2611
2612         req = @entry($req)
2613
2614         send_begin = start_time["winbindd_allocate_uid_send", req]
2615         delete start_time["winbindd_allocate_uid_send", req]
2616         svctime = recv_end - send_begin
2617
2618         idle = idle_time["winbindd_allocate_uid_send", req]
2619         delete idle_time["winbindd_allocate_uid_send", req]
2620         runtime = (idle - send_begin) + recv_runtime
2621
2622         async_svctime["winbindd_allocate_uid_send"] <<< svctime
2623         async_runtime["winbindd_allocate_uid_send"] <<< runtime
2624 }
2625
2626 #
2627 # winbind async function winbindd_allocate_gid
2628 #
2629
2630 probe process("winbindd").function("winbindd_allocate_gid_send") {
2631         send_running["winbindd_allocate_gid_send"] = gettimeofday_us()
2632 }
2633
2634 probe process("winbindd").function("winbindd_allocate_gid_send").return {
2635         if (!(["winbindd_allocate_gid_send"] in send_running))
2636                 next
2637
2638         end = gettimeofday_us()
2639         start = send_running["winbindd_allocate_gid_send"]
2640         delete send_running["winbindd_allocate_gid_send"]
2641
2642         start_time["winbindd_allocate_gid_send", $return] = start
2643         idle_time["winbindd_allocate_gid_send", $return] = end
2644 }
2645
2646 probe process("winbindd").function("winbindd_allocate_gid_recv") {
2647         if (!(["winbindd_allocate_gid_send", $req] in start_time))
2648                 next
2649
2650         recv_running["winbindd_allocate_gid_recv"] = gettimeofday_us()
2651 }
2652
2653 probe process("winbindd").function("winbindd_allocate_gid_recv").return {
2654         if (!(["winbindd_allocate_gid_recv"] in recv_running))
2655                 next
2656
2657         recv_end = gettimeofday_us()
2658         recv_start = recv_running["winbindd_allocate_gid_recv"]
2659         delete recv_running["winbindd_allocate_gid_recv"]
2660         recv_runtime = recv_end - recv_start
2661
2662         req = @entry($req)
2663
2664         send_begin = start_time["winbindd_allocate_gid_send", req]
2665         delete start_time["winbindd_allocate_gid_send", req]
2666         svctime = recv_end - send_begin
2667
2668         idle = idle_time["winbindd_allocate_gid_send", req]
2669         delete idle_time["winbindd_allocate_gid_send", req]
2670         runtime = (idle - send_begin) + recv_runtime
2671
2672         async_svctime["winbindd_allocate_gid_send"] <<< svctime
2673         async_runtime["winbindd_allocate_gid_send"] <<< runtime
2674 }
2675
2676 #
2677 # winbind async function winbindd_change_machine_acct
2678 #
2679
2680 probe process("winbindd").function("winbindd_change_machine_acct_send") {
2681         send_running["winbindd_change_machine_acct_send"] = gettimeofday_us()
2682 }
2683
2684 probe process("winbindd").function("winbindd_change_machine_acct_send").return {
2685         if (!(["winbindd_change_machine_acct_send"] in send_running))
2686                 next
2687
2688         end = gettimeofday_us()
2689         start = send_running["winbindd_change_machine_acct_send"]
2690         delete send_running["winbindd_change_machine_acct_send"]
2691
2692         start_time["winbindd_change_machine_acct_send", $return] = start
2693         idle_time["winbindd_change_machine_acct_send", $return] = end
2694 }
2695
2696 probe process("winbindd").function("winbindd_change_machine_acct_recv") {
2697         if (!(["winbindd_change_machine_acct_send", $req] in start_time))
2698                 next
2699
2700         recv_running["winbindd_change_machine_acct_recv"] = gettimeofday_us()
2701 }
2702
2703 probe process("winbindd").function("winbindd_change_machine_acct_recv").return {
2704         if (!(["winbindd_change_machine_acct_recv"] in recv_running))
2705                 next
2706
2707         recv_end = gettimeofday_us()
2708         recv_start = recv_running["winbindd_change_machine_acct_recv"]
2709         delete recv_running["winbindd_change_machine_acct_recv"]
2710         recv_runtime = recv_end - recv_start
2711
2712         req = @entry($req)
2713
2714         send_begin = start_time["winbindd_change_machine_acct_send", req]
2715         delete start_time["winbindd_change_machine_acct_send", req]
2716         svctime = recv_end - send_begin
2717
2718         idle = idle_time["winbindd_change_machine_acct_send", req]
2719         delete idle_time["winbindd_change_machine_acct_send", req]
2720         runtime = (idle - send_begin) + recv_runtime
2721
2722         async_svctime["winbindd_change_machine_acct_send"] <<< svctime
2723         async_runtime["winbindd_change_machine_acct_send"] <<< runtime
2724 }
2725
2726 #
2727 # winbind async function winbindd_pam_auth_crap
2728 #
2729
2730 probe process("winbindd").function("winbindd_pam_auth_crap_send") {
2731         send_running["winbindd_pam_auth_crap_send"] = gettimeofday_us()
2732 }
2733
2734 probe process("winbindd").function("winbindd_pam_auth_crap_send").return {
2735         if (!(["winbindd_pam_auth_crap_send"] in send_running))
2736                 next
2737
2738         end = gettimeofday_us()
2739         start = send_running["winbindd_pam_auth_crap_send"]
2740         delete send_running["winbindd_pam_auth_crap_send"]
2741
2742         start_time["winbindd_pam_auth_crap_send", $return] = start
2743         idle_time["winbindd_pam_auth_crap_send", $return] = end
2744 }
2745
2746 probe process("winbindd").function("winbindd_pam_auth_crap_recv") {
2747         if (!(["winbindd_pam_auth_crap_send", $req] in start_time))
2748                 next
2749
2750         recv_running["winbindd_pam_auth_crap_recv"] = gettimeofday_us()
2751 }
2752
2753 probe process("winbindd").function("winbindd_pam_auth_crap_recv").return {
2754         if (!(["winbindd_pam_auth_crap_recv"] in recv_running))
2755                 next
2756
2757         recv_end = gettimeofday_us()
2758         recv_start = recv_running["winbindd_pam_auth_crap_recv"]
2759         delete recv_running["winbindd_pam_auth_crap_recv"]
2760         recv_runtime = recv_end - recv_start
2761
2762         req = @entry($req)
2763
2764         send_begin = start_time["winbindd_pam_auth_crap_send", req]
2765         delete start_time["winbindd_pam_auth_crap_send", req]
2766         svctime = recv_end - send_begin
2767
2768         idle = idle_time["winbindd_pam_auth_crap_send", req]
2769         delete idle_time["winbindd_pam_auth_crap_send", req]
2770         runtime = (idle - send_begin) + recv_runtime
2771
2772         async_svctime["winbindd_pam_auth_crap_send"] <<< svctime
2773         async_runtime["winbindd_pam_auth_crap_send"] <<< runtime
2774 }
2775
2776 probe end {
2777         printf("\n\n")
2778
2779         printf("Winbind request service time\n")
2780         printf("============================\n")
2781         foreach ([name] in async_svctime) {
2782                 printf("%-40s count: %5d, sum: %6d ms (min: %6d us, avg: %6d us, max: %6d us)\n",
2783                        name,
2784                        @count(async_svctime[name]),
2785                        @sum(async_svctime[name]) / 1000,
2786                        @min(async_svctime[name]),
2787                        @avg(async_svctime[name]),
2788                        @max(async_svctime[name]))
2789         }
2790         printf("\n")
2791
2792         printf("Winbind request runtime\n")
2793         printf("=======================\n")
2794         foreach ([name] in async_runtime) {
2795                 printf("%-40s count: %5d, sum: %6d ms (min: %6d us, avg: %6d us, max: %6d us)\n",
2796                        name,
2797                        @count(async_runtime[name]),
2798                        @sum(async_runtime[name]) / 1000,
2799                        @min(async_runtime[name]),
2800                        @avg(async_runtime[name]),
2801                        @max(async_runtime[name]))
2802         }
2803         printf("\n")
2804
2805         printf("Winbind domain-child request service time\n")
2806         printf("=========================================\n")
2807         foreach ([name] in dc_svctime) {
2808                 printf("%-40s count: %5d, sum: %6d ms (min: %6d us, avg: %6d us, max: %6d us)\n",
2809                        name,
2810                        @count(dc_svctime[name]),
2811                        @sum(dc_svctime[name]) / 1000,
2812                        @min(dc_svctime[name]),
2813                        @avg(dc_svctime[name]),
2814                        @max(dc_svctime[name]))
2815         }
2816         printf("\n")
2817
2818         printf("Winbind domain-child AD-backend service time\n")
2819         printf("============================================\n")
2820         foreach ([name] in backend_svctime) {
2821                 printf("%-40s count: %5d, sum: %6d ms (min: %6d us, avg: %6d us, max: %6d us)\n",
2822                        name,
2823                        @count(backend_svctime[name]),
2824                        @sum(backend_svctime[name]) / 1000,
2825                        @min(backend_svctime[name]),
2826                        @avg(backend_svctime[name]),
2827                        @max(backend_svctime[name]))
2828         }
2829         printf("\n")
2830
2831         printf("Winbind request service time distributions (us)\n")
2832         printf("===============================================\n")
2833         foreach ([name] in async_svctime) {
2834                 printf("%s:\n", name);
2835                 println(@hist_log(async_svctime[name]))
2836         }
2837         printf("\n")
2838
2839         printf("Winbind request runtime distributions (us)\n")
2840         printf("==========================================\n")
2841         foreach ([name] in async_runtime) {
2842                 printf("%s:\n", name);
2843                 println(@hist_log(async_runtime[name]))
2844         }
2845
2846         printf("Winbind domain-child request service time distributions (us)\n")
2847         printf("============================================================\n")
2848         foreach ([name] in dc_svctime) {
2849                 printf("%s:\n", name);
2850                 println(@hist_log(dc_svctime[name]))
2851         }
2852
2853         printf("Winbind domain-child AD-backend service time distributions (us)\n")
2854         printf("===============================================================\n")
2855         foreach ([name] in backend_svctime) {
2856                 printf("%s:\n", name);
2857                 println(@hist_log(backend_svctime[name]))
2858         }
2859 }