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
16global dc_running, dc_svctime
17global backend_running, backend_svctime
18global send_running, recv_running
19global start_time, idle_time
20global async_svctime, async_runtime
21
22probe begin {
23	printf("Collecting data, press ctrl-C to stop... ")
24}
25
26#
27# winbind domain child function winbindd_dual_ping
28#
29
30probe process("winbindd").function("winbindd_dual_ping") {
31	dc_running[tid(), "winbindd_dual_ping"] = gettimeofday_us()
32}
33
34probe 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
50probe process("winbindd").function("winbindd_dual_list_trusted_domains") {
51	dc_running[tid(), "winbindd_dual_list_trusted_domains"] = gettimeofday_us()
52}
53
54probe 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
70probe process("winbindd").function("winbindd_dual_init_connection") {
71	dc_running[tid(), "winbindd_dual_init_connection"] = gettimeofday_us()
72}
73
74probe 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
90probe process("winbindd").function("winbindd_dual_pam_auth") {
91	dc_running[tid(), "winbindd_dual_pam_auth"] = gettimeofday_us()
92}
93
94probe 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
110probe process("winbindd").function("winbindd_dual_pam_auth_crap") {
111	dc_running[tid(), "winbindd_dual_pam_auth_crap"] = gettimeofday_us()
112}
113
114probe 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
130probe process("winbindd").function("winbindd_dual_pam_logoff") {
131	dc_running[tid(), "winbindd_dual_pam_logoff"] = gettimeofday_us()
132}
133
134probe 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
150probe 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
154probe 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
170probe process("winbindd").function("winbindd_dual_pam_chauthtok") {
171	dc_running[tid(), "winbindd_dual_pam_chauthtok"] = gettimeofday_us()
172}
173
174probe 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
190probe process("winbindd").function("_wbint_LookupSid") {
191	dc_running[tid(), "_wbint_LookupSid"] = gettimeofday_us()
192}
193
194probe 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
210probe process("winbindd").function("_wbint_LookupSids") {
211	dc_running[tid(), "_wbint_LookupSids"] = gettimeofday_us()
212}
213
214probe 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
230probe process("winbindd").function("_wbint_LookupName") {
231	dc_running[tid(), "_wbint_LookupName"] = gettimeofday_us()
232}
233
234probe 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
250probe process("winbindd").function("_wbint_Sids2UnixIDs") {
251	dc_running[tid(), "_wbint_Sids2UnixIDs"] = gettimeofday_us()
252}
253
254probe 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
270probe process("winbindd").function("_wbint_UnixIDs2Sids") {
271	dc_running[tid(), "_wbint_UnixIDs2Sids"] = gettimeofday_us()
272}
273
274probe 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
290probe process("winbindd").function("_wbint_AllocateUid") {
291	dc_running[tid(), "_wbint_AllocateUid"] = gettimeofday_us()
292}
293
294probe 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
310probe process("winbindd").function("_wbint_AllocateGid") {
311	dc_running[tid(), "_wbint_AllocateGid"] = gettimeofday_us()
312}
313
314probe 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
330probe process("winbindd").function("_wbint_GetNssInfo") {
331	dc_running[tid(), "_wbint_GetNssInfo"] = gettimeofday_us()
332}
333
334probe 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
350probe process("winbindd").function("_wbint_LookupUserAliases") {
351	dc_running[tid(), "_wbint_LookupUserAliases"] = gettimeofday_us()
352}
353
354probe 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
370probe process("winbindd").function("_wbint_LookupUserGroups") {
371	dc_running[tid(), "_wbint_LookupUserGroups"] = gettimeofday_us()
372}
373
374probe 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
390probe process("winbindd").function("_wbint_QuerySequenceNumber") {
391	dc_running[tid(), "_wbint_QuerySequenceNumber"] = gettimeofday_us()
392}
393
394probe 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
410probe process("winbindd").function("_wbint_LookupGroupMembers") {
411	dc_running[tid(), "_wbint_LookupGroupMembers"] = gettimeofday_us()
412}
413
414probe 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
430probe process("winbindd").function("_wbint_QueryGroupList") {
431	dc_running[tid(), "_wbint_QueryGroupList"] = gettimeofday_us()
432}
433
434probe 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
450probe process("winbindd").function("_wbint_QueryUserRidList") {
451	dc_running[tid(), "_wbint_QueryUserRidList"] = gettimeofday_us()
452}
453
454probe 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
470probe process("winbindd").function("_wbint_DsGetDcName") {
471	dc_running[tid(), "_wbint_DsGetDcName"] = gettimeofday_us()
472}
473
474probe 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
490probe process("winbindd").function("_wbint_LookupRids") {
491	dc_running[tid(), "_wbint_LookupRids"] = gettimeofday_us()
492}
493
494probe 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
510probe process("winbindd").function("_wbint_CheckMachineAccount") {
511	dc_running[tid(), "_wbint_CheckMachineAccount"] = gettimeofday_us()
512}
513
514probe 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
530probe process("winbindd").function("_wbint_ChangeMachineAccount") {
531	dc_running[tid(), "_wbint_ChangeMachineAccount"] = gettimeofday_us()
532}
533
534probe 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
550probe process("winbindd").function("_wbint_PingDc") {
551	dc_running[tid(), "_wbint_PingDc"] = gettimeofday_us()
552}
553
554probe 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
570probe process("winbindd").function("query_user_list@../source3/winbindd/winbindd_ads.c") {
571	backend_running[tid(), "query_user_list"] = gettimeofday_us()
572}
573
574probe 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
590probe process("winbindd").function("enum_dom_groups@../source3/winbindd/winbindd_ads.c") {
591	backend_running[tid(), "enum_dom_groups"] = gettimeofday_us()
592}
593
594probe 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
610probe process("winbindd").function("enum_local_groups@../source3/winbindd/winbindd_ads.c") {
611	backend_running[tid(), "enum_local_groups"] = gettimeofday_us()
612}
613
614probe 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
630probe process("winbindd").function("name_to_sid@../source3/winbindd/winbindd_ads.c") {
631	backend_running[tid(), "name_to_sid"] = gettimeofday_us()
632}
633
634probe 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
650probe process("winbindd").function("sid_to_name@../source3/winbindd/winbindd_ads.c") {
651	backend_running[tid(), "sid_to_name"] = gettimeofday_us()
652}
653
654probe 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
670probe process("winbindd").function("rids_to_names@../source3/winbindd/winbindd_ads.c") {
671	backend_running[tid(), "rids_to_names"] = gettimeofday_us()
672}
673
674probe 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
690probe process("winbindd").function("lookup_usergroups@../source3/winbindd/winbindd_ads.c") {
691	backend_running[tid(), "lookup_usergroups"] = gettimeofday_us()
692}
693
694probe 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
710probe process("winbindd").function("lookup_useraliases@../source3/winbindd/winbindd_ads.c") {
711	backend_running[tid(), "lookup_useraliases"] = gettimeofday_us()
712}
713
714probe 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
730probe process("winbindd").function("lookup_groupmem@../source3/winbindd/winbindd_ads.c") {
731	backend_running[tid(), "lookup_groupmem"] = gettimeofday_us()
732}
733
734probe 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
750probe process("winbindd").function("sequence_number@../source3/winbindd/winbindd_ads.c") {
751	backend_running[tid(), "sequence_number"] = gettimeofday_us()
752}
753
754probe 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
770probe process("winbindd").function("lockout_policy@../source3/winbindd/winbindd_ads.c") {
771	backend_running[tid(), "lockout_policy"] = gettimeofday_us()
772}
773
774probe 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
790probe process("winbindd").function("password_policy@../source3/winbindd/winbindd_ads.c") {
791	backend_running[tid(), "password_policy"] = gettimeofday_us()
792}
793
794probe 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
810probe process("winbindd").function("trusted_domains@../source3/winbindd/winbindd_ads.c") {
811	backend_running[tid(), "trusted_domains"] = gettimeofday_us()
812}
813
814probe 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
830probe process("winbindd").function("wb_ping_send") {
831	send_running["wb_ping_send"] = gettimeofday_us()
832}
833
834probe 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
846probe 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
853probe 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
880probe process("winbindd").function("winbindd_lookupsid_send") {
881	send_running["winbindd_lookupsid_send"] = gettimeofday_us()
882}
883
884probe 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
896probe 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
903probe 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
930probe process("winbindd").function("winbindd_lookupsids_send") {
931	send_running["winbindd_lookupsids_send"] = gettimeofday_us()
932}
933
934probe 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
946probe 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
953probe 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
980probe process("winbindd").function("winbindd_lookupname_send") {
981	send_running["winbindd_lookupname_send"] = gettimeofday_us()
982}
983
984probe 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
996probe 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
1003probe 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
1030probe process("winbindd").function("winbindd_sids_to_xids_send") {
1031	send_running["winbindd_sids_to_xids_send"] = gettimeofday_us()
1032}
1033
1034probe 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
1046probe 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
1053probe 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
1080probe process("winbindd").function("winbindd_xids_to_sids_send") {
1081	send_running["winbindd_xids_to_sids_send"] = gettimeofday_us()
1082}
1083
1084probe 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
1096probe 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
1103probe 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
1130probe process("winbindd").function("winbindd_getpwsid_send") {
1131	send_running["winbindd_getpwsid_send"] = gettimeofday_us()
1132}
1133
1134probe 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
1146probe 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
1153probe 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
1180probe process("winbindd").function("winbindd_getpwnam_send") {
1181	send_running["winbindd_getpwnam_send"] = gettimeofday_us()
1182}
1183
1184probe 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
1196probe 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
1203probe 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
1230probe process("winbindd").function("winbindd_getpwuid_send") {
1231	send_running["winbindd_getpwuid_send"] = gettimeofday_us()
1232}
1233
1234probe 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
1246probe 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
1253probe 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
1280probe process("winbindd").function("winbindd_getsidaliases_send") {
1281	send_running["winbindd_getsidaliases_send"] = gettimeofday_us()
1282}
1283
1284probe 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
1296probe 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
1303probe 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
1330probe process("winbindd").function("winbindd_getuserdomgroups_send") {
1331	send_running["winbindd_getuserdomgroups_send"] = gettimeofday_us()
1332}
1333
1334probe 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
1346probe 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
1353probe 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
1380probe process("winbindd").function("winbindd_getgroups_send") {
1381	send_running["winbindd_getgroups_send"] = gettimeofday_us()
1382}
1383
1384probe 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
1396probe 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
1403probe 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
1430probe process("winbindd").function("winbindd_show_sequence_send") {
1431	send_running["winbindd_show_sequence_send"] = gettimeofday_us()
1432}
1433
1434probe 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
1446probe 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
1453probe 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
1480probe process("winbindd").function("winbindd_getgrgid_send") {
1481	send_running["winbindd_getgrgid_send"] = gettimeofday_us()
1482}
1483
1484probe 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
1496probe 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
1503probe 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
1530probe process("winbindd").function("winbindd_getgrnam_send") {
1531	send_running["winbindd_getgrnam_send"] = gettimeofday_us()
1532}
1533
1534probe 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
1546probe 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
1553probe 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
1580probe process("winbindd").function("winbindd_getusersids_send") {
1581	send_running["winbindd_getusersids_send"] = gettimeofday_us()
1582}
1583
1584probe 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
1596probe 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
1603probe 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
1630probe process("winbindd").function("winbindd_lookuprids_send") {
1631	send_running["winbindd_lookuprids_send"] = gettimeofday_us()
1632}
1633
1634probe 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
1646probe 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
1653probe 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
1680probe process("winbindd").function("winbindd_setpwent_send") {
1681	send_running["winbindd_setpwent_send"] = gettimeofday_us()
1682}
1683
1684probe 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
1696probe 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
1703probe 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
1730probe process("winbindd").function("winbindd_getpwent_send") {
1731	send_running["winbindd_getpwent_send"] = gettimeofday_us()
1732}
1733
1734probe 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
1746probe 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
1753probe 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
1780probe process("winbindd").function("winbindd_endpwent_send") {
1781	send_running["winbindd_endpwent_send"] = gettimeofday_us()
1782}
1783
1784probe 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
1796probe 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
1803probe 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
1830probe process("winbindd").function("winbindd_dsgetdcname_send") {
1831	send_running["winbindd_dsgetdcname_send"] = gettimeofday_us()
1832}
1833
1834probe 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
1846probe 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
1853probe 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
1880probe process("winbindd").function("winbindd_getdcname_send") {
1881	send_running["winbindd_getdcname_send"] = gettimeofday_us()
1882}
1883
1884probe 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
1896probe 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
1903probe 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
1930probe process("winbindd").function("winbindd_setgrent_send") {
1931	send_running["winbindd_setgrent_send"] = gettimeofday_us()
1932}
1933
1934probe 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
1946probe 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
1953probe 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
1980probe process("winbindd").function("winbindd_getgrent_send") {
1981	send_running["winbindd_getgrent_send"] = gettimeofday_us()
1982}
1983
1984probe 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
1996probe 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
2003probe 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
2030probe process("winbindd").function("winbindd_endgrent_send") {
2031	send_running["winbindd_endgrent_send"] = gettimeofday_us()
2032}
2033
2034probe 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
2046probe 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
2053probe 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
2080probe process("winbindd").function("winbindd_list_users_send") {
2081	send_running["winbindd_list_users_send"] = gettimeofday_us()
2082}
2083
2084probe 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
2096probe 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
2103probe 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
2130probe process("winbindd").function("winbindd_list_groups_send") {
2131	send_running["winbindd_list_groups_send"] = gettimeofday_us()
2132}
2133
2134probe 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
2146probe 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
2153probe 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
2180probe process("winbindd").function("winbindd_check_machine_acct_send") {
2181	send_running["winbindd_check_machine_acct_send"] = gettimeofday_us()
2182}
2183
2184probe 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
2196probe 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
2203probe 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
2230probe process("winbindd").function("winbindd_ping_dc_send") {
2231	send_running["winbindd_ping_dc_send"] = gettimeofday_us()
2232}
2233
2234probe 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
2246probe 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
2253probe 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
2280probe process("winbindd").function("winbindd_pam_auth_send") {
2281	send_running["winbindd_pam_auth_send"] = gettimeofday_us()
2282}
2283
2284probe 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
2296probe 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
2303probe 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
2330probe process("winbindd").function("winbindd_pam_logoff_send") {
2331	send_running["winbindd_pam_logoff_send"] = gettimeofday_us()
2332}
2333
2334probe 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
2346probe 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
2353probe 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
2380probe process("winbindd").function("winbindd_pam_chauthtok_send") {
2381	send_running["winbindd_pam_chauthtok_send"] = gettimeofday_us()
2382}
2383
2384probe 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
2396probe 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
2403probe 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
2430probe process("winbindd").function("winbindd_pam_chng_pswd_auth_crap_send") {
2431	send_running["winbindd_pam_chng_pswd_auth_crap_send"] = gettimeofday_us()
2432}
2433
2434probe 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
2446probe 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
2453probe 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
2480probe process("winbindd").function("winbindd_wins_byip_send") {
2481	send_running["winbindd_wins_byip_send"] = gettimeofday_us()
2482}
2483
2484probe 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
2496probe 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
2503probe 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
2530probe process("winbindd").function("winbindd_wins_byname_send") {
2531	send_running["winbindd_wins_byname_send"] = gettimeofday_us()
2532}
2533
2534probe 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
2546probe 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
2553probe 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
2580probe process("winbindd").function("winbindd_allocate_uid_send") {
2581	send_running["winbindd_allocate_uid_send"] = gettimeofday_us()
2582}
2583
2584probe 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
2596probe 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
2603probe 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
2630probe process("winbindd").function("winbindd_allocate_gid_send") {
2631	send_running["winbindd_allocate_gid_send"] = gettimeofday_us()
2632}
2633
2634probe 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
2646probe 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
2653probe 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
2680probe process("winbindd").function("winbindd_change_machine_acct_send") {
2681	send_running["winbindd_change_machine_acct_send"] = gettimeofday_us()
2682}
2683
2684probe 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
2696probe 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
2703probe 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
2730probe process("winbindd").function("winbindd_pam_auth_crap_send") {
2731	send_running["winbindd_pam_auth_crap_send"] = gettimeofday_us()
2732}
2733
2734probe 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
2746probe 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
2753probe 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
2776probe 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}
2860