diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/moduleapi.lua | 2 | ||||
-rw-r--r-- | core/storagemanager.lua | 15 |
2 files changed, 11 insertions, 6 deletions
diff --git a/core/moduleapi.lua b/core/moduleapi.lua index 9b773f89..d89d46fa 100644 --- a/core/moduleapi.lua +++ b/core/moduleapi.lua @@ -431,7 +431,7 @@ function api:measure(name, stat_type) end function api:measure_object_event(events_object, event_name, stat_name) - local m = self:measure(stat_name or event_name, "duration"); + local m = self:measure(stat_name or event_name, "times"); local function handler(handlers, _event_name, _event_data) local finished = m(); local ret = handlers(_event_name, _event_data); diff --git a/core/storagemanager.lua b/core/storagemanager.lua index cadae0ed..f0450dfb 100644 --- a/core/storagemanager.lua +++ b/core/storagemanager.lua @@ -153,14 +153,19 @@ function open(host, store, typ) if err == "unsupported-store" then if typ == "map" then -- Use shim on top of keyval store log("debug", "map storage driver unavailable, using shim on top of keyval store."); - return create_map_shim(host, store); + ret, err = create_map_shim(host, store); + else + log("debug", "Storage driver %s does not support store %s (%s), falling back to null driver", + driver_name, store, typ or "<nil>"); + ret, err = null_storage_driver, nil; end - log("debug", "Storage driver %s does not support store %s (%s), falling back to null driver", - driver_name, store, typ or "<nil>"); - ret = null_storage_driver; - err = nil; end end + if ret then + local event_data = { host = host, store_name = store, store_type = typ, store = ret }; + prosody.hosts[host].events.fire_event("store-opened", event_data); + ret, err = event_data.store, event_data.store_err; + end return ret, err; end |