Rakesh Vidyadharan Help

APM Sample Data

Sample data extracted from Grafana to illustrate some of the information captured from one of our REST API services.

Image below shows a panel set up on our Grafana instance. We set up some dynamic variables to allow us to quickly filter the metrics being displayed as appropriate.

Grafana Panel

Parent Record

A sample of parent records generated from a service is shown below.

id

application

entity

host

request_method

response_status

duration

city

country

request_path

username

role

timestamp

67e482e1ed5538904404c883

inventory-api

InventoryItem

stage-v2-1

GET

200

7898004

Chicago

United States

/inventory/item/

rakesh

superuser

2025-03-26 17:42:41.092

67e482cfed5538904404c882

inventory-api

Facility

stage-v2-1

GET

200

4526037

Chicago

United States

/facility

rakesh

superuser

2025-03-26 17:42:23.301

67e482c8ed5538904404c880

inventory-api

Manufacturer

stage-v2-1

GET

200

94633057

Chicago

United States

/manufacturer/

rakesh

superuser

2025-03-26 17:42:16.740

The table panel in Grafana was set up with a simple query like the following:

select id, application, entity, customer, host, request_method, response_status, duration, city, country, request_path, username, role, timestamp from webapm where type is null and action in ($action) and entity in ($entity) and customer in ($customer) and application in ($application) and $__timeFilter(timestamp) order by timestamp desc

Process Records

A sample of the process records for a parent APM record is shown below.

id

type

file

function

line

caller_file

caller_function

caller_line

note

duration

timestamp

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/http/global.hpp

wirepulse::http::Response wirepulse::http::global::retrieveAll(const spt::http2::framework::Request&, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with Model = wirepulse::model::Manufacturer; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&)]

335

/opt/wirepulse/inventory-api/src/http/impl/manufacturer.cpp

wirepulse::http::addManufacturerRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:71&&)> [with auto:71 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

142

List entities Manufacturer

94608741

2025-03-26 17:42:16.740

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::EntitiesQueryResponse wirepulse::http::parseQuery(const spt::http2::framework::Request&, spt::ilp::APMRecord&, const std::vector<std::basic_string_view<char>, std::allocator<std::basic_string_view<char> > >&)

183

/opt/wirepulse/inventory-api/src/http/global.hpp

wirepulse::http::Response wirepulse::http::global::retrieveAll(const spt::http2::framework::Request&, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with Model = wirepulse::model::Manufacturer; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&)]

343

1007

2025-03-26 17:42:16.740

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

84

/opt/wirepulse/inventory-api/src/http/global.hpp

wirepulse::http::Response wirepulse::http::global::retrieveAll(const spt::http2::framework::Request&, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with Model = wirepulse::model::Manufacturer; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&)]

352

35761315

2025-03-26 17:42:16.740

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

35754715

2025-03-26 17:42:16.740

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

35750480

2025-03-26 17:42:16.740

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

35692425

2025-03-26 17:42:16.740

67e482c8ed5538904404c880

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

35676100

2025-03-26 17:42:16.740

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<wirepulse::model::Entities<Model> > > wirepulse::db::query(bsoncxx::v_noabi::document::value, const wirepulse::model::EntitiesQuery&, spt::ilp::APMRecord&) [with M = wirepulse::model::Manufacturer]

639

/opt/wirepulse/inventory-api/src/http/global.hpp

wirepulse::http::Response wirepulse::http::global::retrieveAll(const spt::http2::framework::Request&, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with Model = wirepulse::model::Manufacturer; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&)]

386

58551917

2025-03-26 17:42:16.776

67e482c8ed5538904404c880

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<wirepulse::model::Entities<Model> > > wirepulse::db::query(bsoncxx::v_noabi::document::value, const wirepulse::model::EntitiesQuery&, spt::ilp::APMRecord&) [with M = wirepulse::model::Manufacturer]

663

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<wirepulse::model::Entities<Model> > > wirepulse::db::query(bsoncxx::v_noabi::document::value, const wirepulse::model::EntitiesQuery&, spt::ilp::APMRecord&) [with M = wirepulse::model::Manufacturer]

665

51710399

2025-03-26 17:42:16.776

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, int> wirepulse::db::count(bsoncxx::v_noabi::document::view, spt::ilp::APMRecord&) [with M = wirepulse::model::Manufacturer]

50

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<wirepulse::model::Entities<Model> > > wirepulse::db::query(bsoncxx::v_noabi::document::value, const wirepulse::model::EntitiesQuery&, spt::ilp::APMRecord&) [with M = wirepulse::model::Manufacturer]

697

5138666

2025-03-26 17:42:16.828

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<bsoncxx::v_noabi::oid> > wirepulse::db::lastId(bsoncxx::v_noabi::document::view, bsoncxx::v_noabi::document::value&&, bsoncxx::v_noabi::document::value&&, spt::ilp::APMRecord&) [with M = wirepulse::model::Manufacturer]

82

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<wirepulse::model::Entities<Model> > > wirepulse::db::query(bsoncxx::v_noabi::document::value, const wirepulse::model::EntitiesQuery&, spt::ilp::APMRecord&) [with M = wirepulse::model::Manufacturer]

705

1676136

2025-03-26 17:42:16.833

67e482c8ed5538904404c880

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::Entities<wirepulse::model::Manufacturer>]

52

/opt/wirepulse/inventory-api/src/http/global.hpp

wirepulse::http::Response wirepulse::http::global::retrieveAll(const spt::http2::framework::Request&, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with Model = wirepulse::model::Manufacturer; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&)]

404

242595

2025-03-26 17:42:16.834

The table panel was set up in Grafana to display the child process records for the latest APM record. The query used to generate the data is show below.

with latest as ( select id from webapm where type is null and action in ($action) and entity in ($entity) and customer in ($customer) and application in ($application) order by timestamp desc limit 1 ) select webapm.id, type, file, function, line, caller_file, caller_function, caller_line, note, duration, timestamp from webapm inner join latest on webapm.id = latest.id where type <> null order by timestamp

All Records

The table below shows all APM records captured order by the timestamp. I plan to develop a simple viewer which will render this data as a tree-table, which will show the function call sequence as a tree.

id

type

file

function

line

caller_file

caller_function

caller_line

note

error

duration

timestamp

application

entity

customer

host

request_method

response_status

city

country

request_path

username

role

67ebbaad6d1350c70004a1a0

13169294

2025-04-01 05:06:37

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

13155461

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

13135778

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

3144185

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

3139896

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

3136598

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

3045546

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

3036940

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

9817445

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

9782498

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

3717640

2025-04-01 05:06:37

inventory-api

67ebbaad6d1350c70004a1a0

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

135217

2025-04-01 05:06:37

inventory-api

67ebbc6f6d1350c70004a1a1

7668427

2025-04-01 05:14:07

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

7656332

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

7640859

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

3728097

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

3722538

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

3720644

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

3682458

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

3673773

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

3751604

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

3733821

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

3730173

2025-04-01 05:14:07

inventory-api

67ebbc6f6d1350c70004a1a1

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

138705

2025-04-01 05:14:07

inventory-api

67ebbc916d1350c70004a1a2

7224091

2025-04-01 05:14:41

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

7211275

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

7195487

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

4308490

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

4303583

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

4301503

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

4241796

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

4233326

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

2731669

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

2715618

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

2711653

2025-04-01 05:14:41

inventory-api

67ebbc916d1350c70004a1a2

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

134225

2025-04-01 05:14:41

inventory-api

67ebbc936d1350c70004a1a3

11671430

2025-04-01 05:14:43

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

11662140

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

11635868

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

2256682

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

2251811

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

2249718

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

2223012

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

2214158

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

9235224

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

9218791

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

9215017

2025-04-01 05:14:43

inventory-api

67ebbc936d1350c70004a1a3

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

123731

2025-04-01 05:14:43

inventory-api

67ebbd466d1350c70004a1a4

7236197

2025-04-01 05:17:42

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

7222512

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

7205483

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

4419360

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

4413415

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

4411607

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

4349848

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

4341644

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

2633566

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

2604841

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

2601322

2025-04-01 05:17:42

inventory-api

67ebbd466d1350c70004a1a4

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

131397

2025-04-01 05:17:42

inventory-api

67ebbe646d1350c70004a1a5

5537821

2025-04-01 05:22:28

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

5525221

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

5509700

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

2780209

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

2766325

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

2764309

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

2707541

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

2698520

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

2582278

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

2567499

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

2564425

2025-04-01 05:22:28

inventory-api

67ebbe646d1350c70004a1a5

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

126399

2025-04-01 05:22:28

inventory-api

67ebbecf6d1350c70004a1a6

5756228

2025-04-01 05:24:15

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

5732395

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

5714214

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

2858346

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

2852968

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

2851206

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

2784375

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

2776050

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

2627135

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

2612550

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

2608882

2025-04-01 05:24:15

inventory-api

67ebbecf6d1350c70004a1a6

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

205821

2025-04-01 05:24:15

inventory-api

67ebbf276d1350c70004a1a7

3752050

2025-04-01 05:25:43

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

3739651

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

3725029

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

1661760

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

1644316

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

1642244

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

1584359

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

1576136

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

1910152

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

1896094

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

1892361

2025-04-01 05:25:43

inventory-api

67ebbf276d1350c70004a1a7

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

122435

2025-04-01 05:25:43

inventory-api

67ebbf516d1350c70004a1a8

6290117

2025-04-01 05:26:25

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

6280839

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

6273452

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

2041326

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

2037507

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

2035714

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

2012592

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

2004439

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

4083513

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

4069766

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

4055932

2025-04-01 05:26:25

inventory-api

67ebbf516d1350c70004a1a8

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

130302

2025-04-01 05:26:25

inventory-api

67ebc01e6d1350c70004a1a9

4611147

2025-04-01 05:29:50

inventory-api

InventoryItem

cust2

stage-v2-1

GET

200

Vinnytsia

Ukraine

/inventory/item/id/6760bab01f42e4ffb10fe5b5

dmytro-cust2

admin

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

76

4601369

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

411

/opt/wirepulse/inventory-api/src/http/impl/inventoryitem.cpp

wirepulse::http::addInventoryItemRoutes(spt::http2::framework::Server<Response>&)::<lambda(const spt::http2::framework::RoutingRequest&, auto:72)> [with auto:72 = boost::container::flat_map<std::basic_string_view<char>, std::basic_string_view<char> >]

77

4593941

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

87

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

417

2331536

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

65

/opt/wirepulse/inventory-api/src/http/impl/common.cpp

wirepulse::http::AuthResponse wirepulse::http::authorise(const spt::http2::framework::Request&, spt::ilp::APMRecord&)

107

2327311

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

159

/opt/wirepulse/inventory-api/src/db/storage.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::validateToken(std::string_view, spt::ilp::APMRecord&)

72

Retrieve token

2325300

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

101

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

wirepulse::model::JwtToken::Ptr wirepulse::db::impl::token(std::string_view, spt::ilp::APMRecord&)

171

Retrieve JWT token

2300606

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

step

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

113

/opt/wirepulse/inventory-api/src/db/impl/tokenrepository.cpp

std::optional<bsoncxx::v_noabi::oid> {anonymous}::ptoken::jwtToken(const wirepulse::model::JwtToken&, spt::ilp::APMRecord&)

114

2292840

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

441

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

438

2109647

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

246

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::retrieve(bsoncxx::v_noabi::oid, std::string_view, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem; std::string_view = std::basic_string_view<char>]

457

2085656

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

step

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

267

/opt/wirepulse/inventory-api/src/db/repository.hpp

std::tuple<short int, std::optional<_Tp> > wirepulse::db::pipeline(std::vector<spt::mongoservice::api::model::request::Pipeline::Document::Stage>, spt::ilp::APMRecord&, bool) [with M = wirepulse::model::InventoryItem]

268

2081886

2025-04-01 05:29:50

inventory-api

67ebc01e6d1350c70004a1a9

function

/opt/wirepulse/inventory-api/src/http/common.hpp

void wirepulse::http::output(const spt::http2::framework::Request&, Response&, const M&, spt::ilp::APMRecord&) [with M = wirepulse::model::InventoryItem]

52

/opt/wirepulse/inventory-api/src/http/template.hpp

wirepulse::http::Response wirepulse::http::get(const spt::http2::framework::Request&, std::string_view, std::span<const std::__cxx11::basic_string<char> >, spt::ilp::APMRecord&, AuthFunction&&) [with M = wirepulse::model::InventoryItem; AuthFunction = bool (*)(std::basic_string_view<char>, const wirepulse::model::JwtToken&); std::string_view = std::basic_string_view<char>]

462

134830

2025-04-01 05:29:50

inventory-api

The table panel was set up in Grafana to display the child process records for the latest APM record. The query used to generate the data is show below.

with latest as ( select id from webapm where type is null and action in ($action) and entity in ($entity) and customer in ($customer) and application in ($application) order by timestamp desc limit $limit ) select webapm.id, type, file, function, line, caller_file, caller_function, caller_line, note, error, duration, timestamp, application, entity, customer, host, request_method, response_status, city, country, request_path, username, role from webapm inner join latest on webapm.id = latest.id order by timestamp

Post processed information

One of the reasons behind our decision to store the APM data generated by our services in MongoDB before publishing to QuestDB was to post process the data. In particular, we send the client IP address through the MMDB service to gather geographic information about the client/visitor.

Visits by Country
Last modified: 30 April 2025