Changeset 8c735aa0718a2a3a4a9072c7534b0330dc3cc003

Show
Ignore:
Timestamp:
01/27/12 04:36:09 (3 years ago)
Author:
Theo Schlossnagle <jesus@lethargy.org>
git-committer:
Theo Schlossnagle <jesus@lethargy.org> 1327638969 -0800
git-parent:

[7ae62b9ec2b5f252357a0d80446c0ad5ad6dd7fa], [de30ea9a40e3c6c47f37331e1c311513058f924d]

git-author:
Theo Schlossnagle <jesus@lethargy.org> 1327638969 -0800
Message:

Merge pull request #47 from TheTeaWeevil?/master

EHLO Response Metrics Support

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/modules-lua/Makefile.in

    r4adb4fb rde30ea9  
    3030LUA=noit/timeval.lua \ 
    3131        noit/HttpClient.lua \ 
     32        noit/extras.lua \ 
    3233        noit/module/varnish.lua \ 
    3334        noit/module/smtp.lua \ 
  • src/modules-lua/noit/module/smtp.lua

    r5f14683 rde30ea9  
    144144    local elapsed_ms = math.floor(tostring(elapsed) * 1000) 
    145145    check.metric(phase .. "_time",  elapsed_ms) 
     146 
     147    if phase == 'ehlo' and message ~= nil then 
     148      local fields = noit.extras.split(message, "\r\n") 
     149      if fields ~= nil then 
     150        local response = "" 
     151        local extensions = "" 
     152        if fields[1] ~= nil then 
     153          response = fields[1] 
     154          check.metric("ehlo_response_banner", response) 
     155        end 
     156        if expected_code == actual_code and fields[1] ~= nil then 
     157          table.remove(fields, 1) 
     158          for line, value in pairs(fields) do 
     159            if value ~= nil and value ~= "" then 
     160              value = value:gsub("^%s*(.-)%s*$", "%1") 
     161              local subfields = noit.extras.split(value, "%s+", 1) 
     162              if subfields ~= nil and subfields[1] ~= nil then 
     163                local header = subfields[1] 
     164                if subfields[2] ~= nil then 
     165                  check.metric("ehlo_response_" .. string.lower(header), subfields[2]) 
     166                else 
     167                  check.metric("ehlo_response_" .. string.lower(header), 'true') 
     168                end 
     169              end 
     170            end 
     171          end 
     172        end 
     173      end 
     174    end 
    146175    return success 
    147176  end 
  • src/modules/lua.c

    r9d3260a rde30ea9  
    892892 
    893893  require(noit.timeval); 
     894  require(noit.extras); 
    894895 
    895896  lua_gc(L, LUA_GCRESTART, 0);