Lines Matching +full:- +full:sv

1 /*	$NetBSD: slapd-watcher.c,v 1.2 2021/08/14 16:15:03 christos Exp $	*/
6 * Copyright 1999-2021 The OpenLDAP Foundation.
14 * top-level directory of the distribution or, alternatively, at
23 __RCSID("$NetBSD: slapd-watcher.c,v 1.2 2021/08/14 16:15:03 christos Exp $");
47 #include "slapd-common.h"
139 "[-D <dn> [ -w <passwd> ]] " in usage()
140 "[-d <level>] " in usage()
141 "[-O <SASL secprops>] " in usage()
142 "[-R <SASL realm>] " in usage()
143 "[-U <SASL authcid> [-X <SASL authzid>]] " in usage()
144 "[-x | -Y <SASL mech>] " in usage()
145 "[-i <interval>] " in usage()
146 "[-s <sids>] " in usage()
147 "[-b <baseDN> ] URI[...]\n", in usage()
166 printf("%d-%02d-%02d %02d:%02d:%02d", in timestamp()
167 tm->tm_year + 1900, tm->tm_mon+1, tm->tm_mday, in timestamp()
168 tm->tm_hour, tm->tm_min, tm->tm_sec); in timestamp()
174 if (tm->tm_mday-1) in deltat()
175 printf("%02d+", tm->tm_mday-1); in deltat()
177 tm->tm_hour, tm->tm_min, tm->tm_sec); in deltat()
182 void rotate_stats( server *sv ) in rotate_stats() argument
184 if ( sv->flags & HAS_MONITOR ) in rotate_stats()
185 sv->c_prev = sv->c_curr; in rotate_stats()
186 if ( sv->flags & HAS_BASE ) { in rotate_stats()
190 if ( sv->csn_curr.vals[i].bv_len ) { in rotate_stats()
191 ber_bvreplace(&sv->csn_prev.vals[i], in rotate_stats()
192 &sv->csn_curr.vals[i]); in rotate_stats()
193 sv->csn_prev.tvs[i] = sv->csn_curr.tvs[i]; in rotate_stats()
195 if ( sv->csn_prev.vals[i].bv_val ) in rotate_stats()
196 sv->csn_prev.vals[i].bv_val[0] = '\0'; in rotate_stats()
242 tv.tv_usec = now.tv_usec - servers[i].c_prev.time.tv_usec; in display()
243 tv.tv_sec = now.tv_sec - servers[i].c_prev.time.tv_sec; in display()
246 tv.tv_sec--; in display()
250 delta = servers[i].c_curr.entries - servers[i].c_prev.entries; in display()
255 delta = servers[i].c_curr.ops[j] - servers[i].c_prev.ops[j]; in display()
302 delta.tv_sec = servers[j].csn_curr.tvs[j].tv_sec - in display()
304 delta.tv_usec = servers[j].csn_curr.tvs[j].tv_usec - in display()
308 delta.tv_sec--; in display()
311 delta.tv_sec = -delta.tv_sec; in display()
358 c->ops[op] = strtoul( bvals[0].bv_val, NULL, 0 ); in get_counters()
386 return -1; in slap_parse_csn_sid()
388 csn.bv_len -= p - csn.bv_val; in slap_parse_csn_sid()
393 return -1; in slap_parse_csn_sid()
395 csn.bv_len -= p - csn.bv_val; in slap_parse_csn_sid()
400 return -1; in slap_parse_csn_sid()
402 csn.bv_len = q - p; in slap_parse_csn_sid()
406 i = -1; in slap_parse_csn_sid()
421 if ( c->vals[i].bv_val ) in get_csns()
422 c->vals[i].bv_val[0] = '\0'; in get_csns()
431 ber_bvreplace( &c->vals[j], &bvs[i] ); in get_csns()
433 c->tvs[j].tv_usec = tm.tm_nsec / 1000; in get_csns()
435 c->tvs[j].tv_sec = tt.tt_sec; in get_csns()
441 setup_server( struct tester_conn_args *config, server *sv, int first ) in setup_server() argument
443 config->uri = sv->url; in setup_server()
444 tester_init_ld( &sv->ld, config, first ? 0 : TESTER_INIT_NOEXIT ); in setup_server()
445 if ( !sv->ld ) in setup_server()
446 return -1; in setup_server()
448 sv->flags &= ~HAS_ALL; in setup_server()
454 LDAP *ld = sv->ld; in setup_server()
464 gettimeofday( &sv->c_curr.time, 0 ); in setup_server()
465 sv->flags |= HAS_MONITOR; in setup_server()
468 if ( !strncasecmp( dn.bv_val, "cn=Database", sizeof("cn=Database")-1 ) || in setup_server()
469 !strncasecmp( dn.bv_val, "cn=Frontend", sizeof("cn=Frontend")-1 )) { in setup_server()
489 ber_bvreplace( &sv->monitorbase, &dn ); in setup_server()
490 sv->flags |= HAS_ENTRIES; in setup_server()
491 sv->c_curr.entries = strtoul( bvals[0].bv_val, NULL, 0 ); in setup_server()
498 get_counters( ld, e, ber, &sv->c_curr ); in setup_server()
511 tester_ldap_error( ld, "ldap_search_ext_s(cn=Monitor)", sv->url ); in setup_server()
525 sv->flags |= HAS_BASE; in setup_server()
534 get_csns( &sv->csn_curr, bvals ); in setup_server()
548 tester_ldap_error( ld, "ldap_search_ext_s(baseDN)", sv->url ); in setup_server()
555 if ( sv->monitorfilter != default_monfilter ) in setup_server()
556 free( sv->monitorfilter ); in setup_server()
557 if ( sv->flags & HAS_ENTRIES ) { in setup_server()
558 int len = sv->monitorbase.bv_len + sizeof("(|(entryDN=)" MONFILTER ")"); in setup_server()
560 sprintf(ptr, "(|(entryDN=%s)" MONFILTER ")", sv->monitorbase.bv_val ); in setup_server()
561 sv->monitorfilter = ptr; in setup_server()
562 } else if ( sv->flags & HAS_MONITOR ) { in setup_server()
563 sv->monitorfilter = (char *)default_monfilter; in setup_server()
566 rotate_stats( sv ); in setup_server()
578 config = tester_init( "slapd-watcher", TESTER_TESTER ); in main()
579 config->authmethod = LDAP_AUTH_SIMPLE; in main()
614 numservers = argc - optind; in main()
627 argc -= optind; in main()
672 rc = -1; in main()
712 if ( rc != -1 ) in main()
748 if ( !strncasecmp( dn.bv_val, "cn=Database", sizeof("cn=Database")-1 ) || in main()
749 !strncasecmp( dn.bv_val, "cn=Frontend", sizeof("cn=Frontend")-1 )) { in main()