Added some profiling events for subsonic API (media retrieval)

This commit is contained in:
emeric
2024-03-09 19:14:13 +01:00
parent f072f171d8
commit d6fd95ab44
+3 -2
View File
@@ -268,7 +268,7 @@ namespace API::Subsonic
}; };
using MediaRetrievalHandlerFunc = std::function<void(RequestContext&, const Wt::Http::Request&, Wt::Http::Response&)>; using MediaRetrievalHandlerFunc = std::function<void(RequestContext&, const Wt::Http::Request&, Wt::Http::Response&)>;
static std::unordered_map<std::string, MediaRetrievalHandlerFunc> mediaRetrievalHandlers static std::unordered_map<LiteralString, MediaRetrievalHandlerFunc, LiteralStringHash, LiteralStringEqual> mediaRetrievalHandlers
{ {
// Media retrieval // Media retrieval
{"/download", handleDownload}, {"/download", handleDownload},
@@ -277,7 +277,6 @@ namespace API::Subsonic
}; };
} }
SubsonicResource::SubsonicResource(Db& db) SubsonicResource::SubsonicResource(Db& db)
: _serverProtocolVersionsByClient{ readConfigProtocolVersions() } : _serverProtocolVersionsByClient{ readConfigProtocolVersions() }
, _openSubsonicDisabledClients{ readOpenSubsonicDisabledClients() } , _openSubsonicDisabledClients{ readOpenSubsonicDisabledClients() }
@@ -338,6 +337,8 @@ namespace API::Subsonic
auto itStreamHandler{ mediaRetrievalHandlers.find(requestPath) }; auto itStreamHandler{ mediaRetrievalHandlers.find(requestPath) };
if (itStreamHandler != mediaRetrievalHandlers.end()) if (itStreamHandler != mediaRetrievalHandlers.end())
{ {
LMS_SCOPED_PROFILE_OVERVIEW("Subsonic", itStreamHandler->first);
itStreamHandler->second(requestContext, request, response); itStreamHandler->second(requestContext, request, response);
LMS_LOG(API_SUBSONIC, DEBUG, "Request " << requestId << " '" << requestPath << "' handled!"); LMS_LOG(API_SUBSONIC, DEBUG, "Request " << requestId << " '" << requestPath << "' handled!");
return; return;