       loglevel = Observatory.LOGLEVEL.WARNING
     loglevel
 
+  # preparing message to emit based on options (as in profile / profileAsync methods) and time elapsed
+  _prepareMessage: (timeElapsed, options, args)->
+    msg = if options.message? then "| #{options.message}" else ''
+    opts =
+      message: "#{options.method} call finished in #{timeElapsed} ms #{msg}"
+      type: options.type ? 'profile'
+      module: options.module ? 'Profiler'
+      useBuffer: options.useBuffer ? false
+      obj:
+        timeElapsed: timeElapsed
+        method: options.method
+        arguments: JSON.stringify args
+        stack: (new Error()).stack
+        type: "profile.end"
+
   # TODO: write tests for profiling functions
   # profile sync function execution
   # * options: additional options to put into profiling log message
   # * - message: message to log with
   # * - method: method name that we are profiling
-  # * - buffer: whether to buffer log output (needed in Meteor mostly)
+  # * - useBuffer: whether to buffer log output (needed in Meteor mostly)
   # * func: function to profile followed by its' arguments, however many
   profile: (options, thisArg, func)=>
     # first checking if profiling is off and then simply passing the call - minimal overhead!

    msg = "#{options.method} call started"
    object =
      method: options.method
      arguments: sargs
      stack: (new Error()).stack
      type: "profile.start"
    @_verbose msg, object, 'profiler', 'profile', (options.buffer? is true)

    @__startTime = Date.now()
    func.apply thisArg, args

    args = _.rest (_.rest (_.rest arguments))
    return func.apply thisArg, args unless Observatory.settings.profiling.isOn

    orig_callback = args.pop()

    # redefining callback for recording execution times
