Move convert_to_sec() to lma_utils module
diff --git a/heka/files/lua/common/lma_utils.lua b/heka/files/lua/common/lma_utils.lua
index 1afe372..aa89f29 100644
--- a/heka/files/lua/common/lma_utils.lua
+++ b/heka/files/lua/common/lma_utils.lua
@@ -322,4 +322,9 @@
return true, value
end
+-- convert a nanosecond value to second
+function convert_to_sec(ns)
+ return math.floor(ns/1e9)
+end
+
return M
diff --git a/heka/files/lua/filters/hdd_errors_counter.lua b/heka/files/lua/filters/hdd_errors_counter.lua
index 66980bc..fcd5fe1 100644
--- a/heka/files/lua/filters/hdd_errors_counter.lua
+++ b/heka/files/lua/filters/hdd_errors_counter.lua
@@ -36,14 +36,10 @@
local enter_at
local start_time = os.time()
-local function convert_to_sec(ns)
- return math.floor(ns/1e9)
-end
-
function process_message ()
-- timestamp values should be converted to seconds because log timestamps
-- have a precision of one second (or millisecond sometimes)
- if convert_to_sec(read_message('Timestamp')) + grace_interval < math.max(convert_to_sec(enter_at or 0), start_time) then
+ if utils.convert_to_sec(read_message('Timestamp')) + grace_interval < math.max(utils.convert_to_sec(enter_at or 0), start_time) then
-- skip the log message if it doesn't fall into the current interval
return 0
end
@@ -89,4 +85,4 @@
utils.inject_bulk_metric(ns, hostname, 'hdd_errors_filter')
return 0
-end
\ No newline at end of file
+end
diff --git a/heka/files/lua/filters/logs_counter.lua b/heka/files/lua/filters/logs_counter.lua
index c1d0391..371ff8c 100644
--- a/heka/files/lua/filters/logs_counter.lua
+++ b/heka/files/lua/filters/logs_counter.lua
@@ -30,10 +30,6 @@
local logs_counters = {}
local last_timer_event = os.time() * 1e9
-function convert_to_sec(ns)
- return math.floor(ns/1e9)
-end
-
function process_message ()
local severity = read_message("Fields[severity_label]")
local logger = read_message("Logger")
@@ -45,7 +41,7 @@
-- timestamp values should be converted to seconds because log timestamps
-- have a precision of one second (or millisecond sometimes)
- if convert_to_sec(read_message('Timestamp')) + grace_interval < convert_to_sec(last_timer_event) then
+ if utils.convert_to_sec(read_message('Timestamp')) + grace_interval < utils.convert_to_sec(last_timer_event) then
-- skip the the log message if it doesn't fall into the current interval
return 0
end
diff --git a/tests/lua/test_lma_utils.lua b/tests/lua/test_lma_utils.lua
index 8b6d198..7df99d7 100644
--- a/tests/lua/test_lma_utils.lua
+++ b/tests/lua/test_lma_utils.lua
@@ -91,6 +91,12 @@
assertEquals(ret, 'foo<BR/>ba')
end
+ function TestLmaUtils:test_convert_to_sec()
+ assertEquals(lma_utils.convert_to_sec(1000000001), 1)
+ assertEquals(lma_utils.convert_to_sec(1999999999), 1)
+ assertEquals(lma_utils.convert_to_sec(2000000001), 2)
+ end
+
lu = LuaUnit
lu:setVerbosity( 1 )
os.exit( lu:run() )