Prometheus stats split over viewers, incoming and outgoing.
Load balancer updated to use new split stats and provide info per host and/or stream if requested over its port.
This commit is contained in:
parent
39a61b6380
commit
dfc41cc596
9 changed files with 199 additions and 62 deletions
|
@ -1123,6 +1123,17 @@ namespace Mist {
|
|||
stats();
|
||||
}
|
||||
|
||||
/// Returns the name as it should be used in statistics.
|
||||
/// Outputs used as an input should return INPUT, outputs used for automation should return OUTPUT, others should return their proper name.
|
||||
/// The default implementation is usually good enough for all the non-INPUT types.
|
||||
std::string Output::getStatsName(){
|
||||
if (config->hasOption("target") && config->getString("target").size()){
|
||||
return "OUTPUT";
|
||||
}else{
|
||||
return capa["name"].asStringRef();
|
||||
}
|
||||
}
|
||||
|
||||
void Output::stats(){
|
||||
if (!isInitialized){
|
||||
return;
|
||||
|
@ -1144,7 +1155,7 @@ namespace Mist {
|
|||
}
|
||||
tmpEx.crc(crc);
|
||||
tmpEx.streamName(streamName);
|
||||
tmpEx.connector(capa["name"].asString());
|
||||
tmpEx.connector(getStatsName());
|
||||
tmpEx.up(myConn.dataUp());
|
||||
tmpEx.down(myConn.dataDown());
|
||||
tmpEx.time(now - myConn.connTime());
|
||||
|
|
|
@ -107,7 +107,7 @@ namespace Mist {
|
|||
protected://these are to be messed with by child classes
|
||||
virtual std::string getConnectedHost();
|
||||
virtual std::string getConnectedBinHost();
|
||||
|
||||
virtual std::string getStatsName();
|
||||
|
||||
IPC::sharedClient statsPage;///< Shared memory used for statistics reporting.
|
||||
bool isBlocking;///< If true, indicates that myConn is blocking.
|
||||
|
|
|
@ -167,6 +167,14 @@ namespace Mist {
|
|||
return false;
|
||||
}
|
||||
|
||||
std::string OutRTMP::getStatsName(){
|
||||
if (isPushing){
|
||||
return "INPUT";
|
||||
}else{
|
||||
return Output::getStatsName();
|
||||
}
|
||||
}
|
||||
|
||||
void OutRTMP::parseVars(std::string data){
|
||||
std::string varname;
|
||||
std::string varval;
|
||||
|
|
|
@ -23,6 +23,7 @@ namespace Mist {
|
|||
void parseChunk(Socket::Buffer & inputBuffer);
|
||||
void parseAMFCommand(AMF::Object & amfData, int messageType, int streamId);
|
||||
void sendCommand(AMF::Object & amfReply, int messageType, int streamId);
|
||||
virtual std::string getStatsName();
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue