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() )