{"push_id":2877882080,"size":3,"distinct_size":3,"ref":"refs/heads/add-rpcserver-stats-rpc-interface","head":"32e45ae1e72d3388e845a85f63d6c814ffb6b7d4","before":"3f016e68325dceb42547ef288be76b8b4464fb01","commits":[{"sha":"7346f956fdc97c43eb7c09a8b92a3ca8ab5195a0","author":{"name":"Eric Scrivner","email":"084c3bc5412ccb4f8fc83e1dc25be364fa42204e@coinbase.com"},"message":"Add HTTP Server Statistics Gathering\n\nThis change is the first part of adding a new RPC call to report stats from the\nHTTP server. It modifies the HTTP server functionality to collect and report\nthe gathered statistics.\n\n`httpserver.h`:\n  * Add private member variable `receivedAtTimeMicros` to `HTTPRequest` to record the time at which the request was started.\n  * Add data-type, `RPCServerStats`, that holds all gathered HTTP server stats.\n  * Add function, `GetRPCServerStats`, that returns the current RPC server stats via the provider pointer.\n\n`httpserver.cpp`:\n  * Add static global `g_rpcserverstats` to hold HTTP server stats across all requests.\n  * Add static global `g_rpcserverstats_mutex` to serialize writes to `g_rpcserverstats`.\n  * Modify several functions to collect the RPC server stats.\n  * Implement `GetRPCServerStats`.","distinct":true,"url":"https://api.github.com/repos/etscrivner/bitcoin/commits/7346f956fdc97c43eb7c09a8b92a3ca8ab5195a0"},{"sha":"a43c23e59a523ff4f4f5d51a87882663f1419935","author":{"name":"Eric Scrivner","email":"084c3bc5412ccb4f8fc83e1dc25be364fa42204e@coinbase.com"},"message":"Add getnetworkrpcinfo RPC Command\n\nAdd a new RPC command, `getnetworkrpcinfo`, that returns an object containing\nvarious state information about the HTTP server providing a JSON RPC interface.\nThis information can be used to derive information such as requests per second\nand average request processing time.\n\nThe information is provided in a raw form leaving the clients to derive such\nuseful metrics, this is intentional and allows this RPC call to avoid issues\naround floating point accuracy and floating point error accumulation. Instead,\nthese issues are left to the consumers of the response object to handle in\nwhatever fashion they like.","distinct":true,"url":"https://api.github.com/repos/etscrivner/bitcoin/commits/a43c23e59a523ff4f4f5d51a87882663f1419935"},{"sha":"32e45ae1e72d3388e845a85f63d6c814ffb6b7d4","author":{"name":"Eric Scrivner","email":"084c3bc5412ccb4f8fc83e1dc25be364fa42204e@coinbase.com"},"message":"Add Functional Test For getnetworkrpcinfo","distinct":true,"url":"https://api.github.com/repos/etscrivner/bitcoin/commits/32e45ae1e72d3388e845a85f63d6c814ffb6b7d4"}]}
{"actor":{"display_login":"etscrivner"}}