Changeset f91ddca09660d8415b1bcdd88b20946e82b0ef62

Show
Ignore:
Timestamp:
08/09/11 16:50:04 (3 years ago)
Author:
Theo Schlossnagle <jesus@omniti.com>
git-committer:
Theo Schlossnagle <jesus@omniti.com> 1312908604 -0400
git-parent:

[d390b7abe209b9b69a3bbead856c8c442c360204]

git-author:
Theo Schlossnagle <jesus@omniti.com> 1312908604 -0400
Message:

propagate the cause for causal checks into all of the calls

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/modules/collectd.c

    rb8cf70c rf91ddca  
    13001300} 
    13011301 
    1302 static int collectd_submit(noit_module_t *self, noit_check_t *check) { 
     1302static int collectd_submit(noit_module_t *self, noit_check_t *check, 
     1303                           noit_check_t *cause) { 
    13031304  collectd_closure_t *ccl; 
    13041305  struct timeval duration; 
     
    14711472   * Then we can warn people if no stats where written in a period of time 
    14721473   */ 
    1473   INITIATE_CHECK(collectd_submit, self, check); 
     1474  INITIATE_CHECK(collectd_submit, self, check, cause); 
    14741475  return 0; 
    14751476} 
  • src/modules/dns.c

    rb8cf70c rf91ddca  
    596596} 
    597597 
    598 static int dns_check_send(noit_module_t *self, noit_check_t *check) { 
     598static int dns_check_send(noit_module_t *self, noit_check_t *check, 
     599                          noit_check_t *cause) { 
    599600  void *vnv_pair = NULL; 
    600601  struct dns_nameval *nv_pair; 
     
    758759  ci->check = check; 
    759760  ci->self = self; 
    760   INITIATE_CHECK(dns_check_send, self, check); 
     761  INITIATE_CHECK(dns_check_send, self, check, cause); 
    761762  return 0; 
    762763} 
  • src/modules/external.c

    r9679460 rf91ddca  
    443443  return 0; 
    444444} 
    445 static int external_invoke(noit_module_t *self, noit_check_t *check) { 
     445static int external_invoke(noit_module_t *self, noit_check_t *check, 
     446                           noit_check_t *cause) { 
    446447  struct timeval when, p_int; 
    447448  external_closure_t *ecl; 
     
    593594                                    int once, noit_check_t *cause) { 
    594595  if(!check->closure) check->closure = calloc(1, sizeof(struct check_info)); 
    595   INITIATE_CHECK(external_invoke, self, check); 
     596  INITIATE_CHECK(external_invoke, self, check, cause); 
    596597  return 0; 
    597598} 
  • src/modules/httptrap.c

    r659d7f7 rf91ddca  
    146146} 
    147147 
    148 static int httptrap_submit(noit_module_t *self, noit_check_t *check) { 
     148static int httptrap_submit(noit_module_t *self, noit_check_t *check, 
     149                           noit_check_t *cause) { 
    149150  httptrap_closure_t *ccl; 
    150151  struct timeval duration; 
     
    382383    ccl->self = self; 
    383384  } 
    384   INITIATE_CHECK(httptrap_submit, self, check); 
     385  INITIATE_CHECK(httptrap_submit, self, check, cause); 
    385386  return 0; 
    386387} 
  • src/modules/lua.c

    r87e8a7c rf91ddca  
    705705} 
    706706static int 
    707 noit_lua_initiate(noit_module_t *self, noit_check_t *check) { 
     707noit_lua_initiate(noit_module_t *self, noit_check_t *check, 
     708                  noit_check_t *cause) { 
    708709  LMC_DECL(L, self); 
    709710  struct nl_intcl *int_cl; 
     
    721722  ci->self = self; 
    722723  ci->check = check; 
     724  ci->cause = cause; 
    723725  noit_check_stats_clear(&ci->current); 
    724726 
     
    753755  noit_lua_setup_module(ci->coro_state, ci->self); 
    754756  noit_lua_setup_check(ci->coro_state, ci->check); 
    755   noit_lua_resume(ci, 2); 
     757  lua_pushnil(L); 
     758  noit_lua_resume(ci, 3); 
    756759 
    757760  return 0; 
     
    768771                               int once, noit_check_t *cause) { 
    769772  if(!check->closure) check->closure = calloc(1, sizeof(noit_lua_check_info_t)); 
    770   INITIATE_CHECK(noit_lua_initiate, self, check); 
     773  INITIATE_CHECK(noit_lua_initiate, self, check, cause); 
    771774  return 0; 
    772775} 
  • src/modules/lua_noit.h

    ra719cb6 rf91ddca  
    5757  noit_module_t *self; 
    5858  noit_check_t *check; 
     59  noit_check_t *cause; 
    5960  int timed_out; 
    6061  eventer_t timeout_event; 
  • src/modules/mysql.c

    r45f2d70 rf91ddca  
    377377 
    378378static int mysql_initiate_check(noit_module_t *self, noit_check_t *check, 
    379                                    int once, noit_check_t *parent) { 
     379                                   int once, noit_check_t *cause) { 
    380380  if(!check->closure) check->closure = calloc(1, sizeof(mysql_check_info_t)); 
    381   INITIATE_CHECK(mysql_initiate, self, check); 
     381  INITIATE_CHECK(mysql_initiate, self, check, cause); 
    382382  return 0; 
    383383} 
  • src/modules/ping_icmp.c

    r25cb63a rf91ddca  
    500500  } 
    501501} 
    502 static int ping_icmp_send(noit_module_t *self, noit_check_t *check) { 
     502static int ping_icmp_send(noit_module_t *self, noit_check_t *check, 
     503                          noit_check_t *cause) { 
    503504  struct timeval when, p_int; 
    504505  struct ping_payload *payload; 
     
    626627                                    int once, noit_check_t *cause) { 
    627628  if(!check->closure) check->closure = calloc(1, sizeof(struct check_info)); 
    628   INITIATE_CHECK(ping_icmp_send, self, check); 
     629  INITIATE_CHECK(ping_icmp_send, self, check, cause); 
    629630  return 0; 
    630631} 
  • src/modules/postgres.c

    rd8c3f54 rf91ddca  
    287287} 
    288288 
    289 static int postgres_initiate(noit_module_t *self, noit_check_t *check) { 
     289static int postgres_initiate(noit_module_t *self, noit_check_t *check, 
     290                             noit_check_t *cause) { 
    290291  postgres_check_info_t *ci = check->closure; 
    291292  struct timeval __now; 
     
    310311 
    311312static int postgres_initiate_check(noit_module_t *self, noit_check_t *check, 
    312                                    int once, noit_check_t *parent) { 
     313                                   int once, noit_check_t *cause) { 
    313314  if(!check->closure) check->closure = calloc(1, sizeof(postgres_check_info_t)); 
    314   INITIATE_CHECK(postgres_initiate, self, check); 
     315  INITIATE_CHECK(postgres_initiate, self, check, cause); 
    315316  return 0; 
    316317} 
  • src/modules/selfcheck.c

    rcc25c43 rf91ddca  
    161161} 
    162162 
    163 static int selfcheck_initiate(noit_module_t *self, noit_check_t *check) { 
     163static int selfcheck_initiate(noit_module_t *self, noit_check_t *check, 
     164                              noit_check_t *cause) { 
    164165  selfcheck_info_t *ci = check->closure; 
    165166  struct timeval __now; 
     
    183184 
    184185static int selfcheck_initiate_check(noit_module_t *self, noit_check_t *check, 
    185                                    int once, noit_check_t *parent) { 
     186                                   int once, noit_check_t *cause) { 
    186187  if(!check->closure) check->closure = calloc(1, sizeof(selfcheck_info_t)); 
    187   INITIATE_CHECK(selfcheck_initiate, self, check); 
     188  INITIATE_CHECK(selfcheck_initiate, self, check, cause); 
    188189  return 0; 
    189190} 
  • src/modules/snmp.c

    rb553f9a rf91ddca  
    876876  return info->noids; 
    877877} 
    878 static int noit_snmp_send(noit_module_t *self, noit_check_t *check) { 
     878static int noit_snmp_send(noit_module_t *self, noit_check_t *check, 
     879                          noit_check_t *cause) { 
    879880  struct snmp_pdu *req; 
    880881  struct target_session *ts; 
     
    958959                                    int once, noit_check_t *cause) { 
    959960  if(!check->closure) check->closure = calloc(1, sizeof(struct check_info)); 
    960   INITIATE_CHECK(noit_snmp_send, self, check); 
     961  INITIATE_CHECK(noit_snmp_send, self, check, cause); 
    961962  return 0; 
    962963} 
  • src/modules/ssh2.c

    rb553f9a rf91ddca  
    277277  return 0; 
    278278} 
    279 static int ssh2_initiate(noit_module_t *self, noit_check_t *check) { 
     279static int ssh2_initiate(noit_module_t *self, noit_check_t *check, 
     280                         noit_check_t *cause) { 
    280281  ssh2_check_info_t *ci = check->closure; 
    281282  struct timeval p_int, __now; 
     
    385386 
    386387static int ssh2_initiate_check(noit_module_t *self, noit_check_t *check, 
    387                                int once, noit_check_t *parent) { 
     388                               int once, noit_check_t *cause) { 
    388389  if(!check->closure) check->closure = calloc(1, sizeof(ssh2_check_info_t)); 
    389   INITIATE_CHECK(ssh2_initiate, self, check); 
     390  INITIATE_CHECK(ssh2_initiate, self, check, cause); 
    390391  return 0; 
    391392} 
  • src/modules/test_abort.c

    r1a778bd rf91ddca  
    152152} 
    153153 
    154 static int test_abort_initiate(noit_module_t *self, noit_check_t *check) { 
     154static int test_abort_initiate(noit_module_t *self, noit_check_t *check, 
     155                               noit_check_t *cause) { 
    155156  test_abort_check_info_t *ci = check->closure; 
    156157  struct timeval __now; 
     
    188189 
    189190static int test_abort_initiate_check(noit_module_t *self, noit_check_t *check, 
    190                                    int once, noit_check_t *parent) { 
     191                                   int once, noit_check_t *cause) { 
    191192  if(!check->closure) check->closure = calloc(1, sizeof(test_abort_check_info_t)); 
    192   INITIATE_CHECK(test_abort_initiate, self, check); 
     193  INITIATE_CHECK(test_abort_initiate, self, check, cause); 
    193194  return 0; 
    194195} 
  • src/noit_check_tools.c

    r09ecd28 rf91ddca  
    4141  noit_module_t *self; 
    4242  noit_check_t *check; 
     43  noit_check_t *cause; 
    4344  dispatch_func_t dispatch; 
    4445} recur_closure_t; 
     
    5152  noit_check_resolve(rcl->check); 
    5253  noit_check_schedule_next(rcl->self, &e->whence, rcl->check, now, 
    53                            rcl->dispatch); 
     54                           rcl->dispatch, NULL); 
    5455  if(NOIT_CHECK_RESOLVED(rcl->check)) 
    55     rcl->dispatch(rcl->self, rcl->check); 
     56    rcl->dispatch(rcl->self, rcl->check, rcl->cause); 
    5657  else 
    5758    noitL(noit_debug, "skipping %s`%s`%s, unresolved\n", 
     
    6465noit_check_schedule_next(noit_module_t *self, 
    6566                         struct timeval *last_check, noit_check_t *check, 
    66                          struct timeval *now, dispatch_func_t dispatch) { 
     67                         struct timeval *now, dispatch_func_t dispatch, 
     68                         noit_check_t *cause) { 
    6769  eventer_t newe; 
    6870  struct timeval period, earliest; 
    6971  recur_closure_t *rcl; 
    7072 
     73  assert(cause == NULL); 
    7174  assert(check->fire_event == NULL); 
    7275  if(check->period == 0) return 0; 
     
    104107  rcl->self = self; 
    105108  rcl->check = check; 
     109  rcl->cause = cause; 
    106110  rcl->dispatch = dispatch; 
    107111  newe->closure = rcl; 
  • src/noit_check_tools.h

    r09ecd28 rf91ddca  
    4141#include "noit_check_tools_shared.h" 
    4242 
    43 typedef int (*dispatch_func_t)(noit_module_t *, noit_check_t *); 
     43typedef int (*dispatch_func_t)(noit_module_t *, noit_check_t *, 
     44                               noit_check_t *); 
    4445 
    4546API_EXPORT(void) 
     
    4950  noit_check_schedule_next(noit_module_t *self, 
    5051                           struct timeval *last_check, noit_check_t *check, 
    51                            struct timeval *now, dispatch_func_t recur); 
     52                           struct timeval *now, dispatch_func_t recur, 
     53                           noit_check_t *cause); 
    5254 
    5355API_EXPORT(void) 
     
    5759  noit_check_run_full_asynch(noit_check_t *check, eventer_func_t callback); 
    5860 
    59 #define INITIATE_CHECK(func, self, check) do { \ 
     61#define INITIATE_CHECK(func, self, check, cause) do { \ 
    6062  if(once) { \ 
    61     func(self, check); \ 
     63    func(self, check, cause); \ 
    6264  } \ 
    6365  else if(!check->fire_event) { \ 
    6466    struct timeval epoch = { 0L, 0L }; \ 
    6567    noit_check_fake_last_check(check, &epoch, NULL); \ 
    66     noit_check_schedule_next(self, &epoch, check, NULL, func); \ 
     68    noit_check_schedule_next(self, &epoch, check, NULL, func, cause); \ 
    6769  } \ 
    6870} while(0)