Ниже приведен пример использования операции GetSvc для получения статистики выполнения операций, которая собрана в памяти BI-сервера. В запросе передается список операций, по которым необходимо получить статистику. В ответе приходит запрошенная информация.
{
"GetSvc" :
{
"tArg" :
{
"credentials" :
{
"user" :
{
"id" : "pprepository"
},
"pass" : "pprepository"
},
"pattern" :
{
"operationsStat" :
{
"ids" :
{
"it" :
[
"OpenMetabase",
"CloseMetabase",
"OpenPrx",
"ClosePrx",
"GetPrxMd",
"SetPrxMd"
]
}
}
}
}
}
}
{
"GetSvcResult" :
{
"meta" :
{
"operationsStat" :
{
"its" :
{
"it" :
[
{
"id" : "OpenMetabase",
"totalCount" : "1",
"faultsCount" : "0",
"totalTime" : "4290",
"maxTime" : "4290",
"minTime" : "4290",
"longRequest" :
{
"OpenMetabase" :
{
"tDef" :
{
"id" : "PPREPOSITORY",
"locale" :
{
"@nil" : "true"
},
"logonData" :
{
"@nil" : "true"
}
},
"tCreds" :
{
"user" :
{
"id" : "pprepository",
"domain" :
{
"@nil" : "true"
}
},
"pass" : "pprepository",
"imperson" :
{
"@nil" : "true"
},
"useMetabase" :
{
"@nil" : "true"
},
"oauth" :
{
"@nil" : "true"
},
"saml2" :
{
"@nil" : "true"
},
"verifier" :
{
"@nil" : "true"
},
"bin" :
{
"@nil" : "true"
},
"useGuestCreds" :
{
"@nil" : "true"
},
"userCertificate" :
{
"@nil" : "true"
}
},
"tArg" :
{
"createNew" :
{
"@nil" : "true"
},
"skipOpen" :
{
"@nil" : "true"
},
"newPassword" :
{
"@nil" : "true"
},
"sessCookie" :
{
"@nil" : "true"
}
}
}
}
},
{
"id" : "OpenPrx",
"totalCount" : "1",
"faultsCount" : "0",
"totalTime" : "3229",
"maxTime" : "3229",
"minTime" : "3229",
"longRequest" :
{
"OpenPrx" :
{
"tObject" :
{
"id" : "S1!M!6334"
},
"tArg" :
{
"args" :
{
"updateCache" :
{
"@nil" : "true"
},
"args" :
{
"@nil" : "true"
},
"bind" :
{
"@nil" : "true"
},
"openForEdit" :
{
"@nil" : "true"
}
},
"metaGet" :
{
"@nil" : "true"
}
}
}
}
},
{
"id" : "ClosePrx",
"totalCount" : "1",
"faultsCount" : "0",
"totalTime" : "31",
"maxTime" : "31",
"minTime" : "31",
"longRequest" :
{
"ClosePrx" :
{
"tPrx" :
{
"id" : "S1!M!S!P1"
}
}
}
},
{
"id" : "GetPrxMd",
"totalCount" : "1",
"faultsCount" : "0",
"totalTime" : "16",
"maxTime" : "16",
"minTime" : "16",
"longRequest" :
{
"GetPrxMd" :
{
"tPrx" :
{
"id" : "S1!M!S!P1"
},
"tArg" :
{
"pattern" :
{
"locale" :
{
"@nil" : "true"
},
"names" :
{
"@nil" : "true"
},
"descriptions" :
{
"@nil" : "true"
},
"effectiveRights" :
{
"@nil" : "true"
},
"obInst" : "true",
"pars" :
{
"@nil" : "true"
},
"all" :
{
"@nil" : "true"
},
"sheet" :
{
"pageSettings" : "true"
},
"sheets" : "Get",
"sheetsFilter" :
{
"@nil" : "true"
},
"tableSources" :
{
"@nil" : "true"
},
"tableSourcesFilter" :
{
"@nil" : "true"
},
"dataSources" :
{
"@nil" : "true"
},
"dataSourcesFilter" :
{
"@nil" : "true"
},
"dataSource" :
{
"@nil" : "true"
},
"slices" :
{
"@nil" : "true"
},
"slicesFilter" :
{
"@nil" : "true"
},
"dataIslands" :
{
"@nil" : "true"
},
"dataIslandsFilter" :
{
"@nil" : "true"
},
"tableIslands" :
{
"@nil" : "true"
},
"tableIslandsFilter" :
{
"@nil" : "true"
},
"controls" :
{
"@nil" : "true"
},
"controlsFilter" :
{
"@nil" : "true"
},
"control" :
{
"@nil" : "true"
},
"exportData" :
{
"@nil" : "true"
},
"drillCell" :
{
"@nil" : "true"
},
"options" :
{
"@nil" : "true"
},
"slicesDimensions" :
{
"@nil" : "true"
},
"isRecalced" :
{
"@nil" : "true"
},
"objectAction" :
{
"@nil" : "true"
},
"canGenWbk" :
{
"@nil" : "true"
},
"genWbk" :
{
"@nil" : "true"
},
"genProblem" :
{
"@nil" : "true"
},
"validations" :
{
"@nil" : "true"
},
"diagnosticReport" :
{
"@nil" : "true"
},
"selectedGrid" :
{
"@nil" : "true"
},
"dimAttrsNaming" :
{
"@nil" : "true"
},
"changedCellsStyles" :
{
"@nil" : "true"
},
"vizSelectionImpact" :
{
"@nil" : "true"
},
"styleSheets" :
{
"@nil" : "true"
}
},
"refresh" :
{
"@nil" : "true"
}
}
}
}
}
]
}
}
}
}
}
public static GetSvcResult GetBIServerStatistic()
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tGet = new GetSvc()
{
tArg = new GetSvcArg()
{
pattern = new SvcPattern()
{
operationsStat = new OperationsStatPattern()
{
ids = new string[] { "OpenMetabase", "CloseMetabase", "OpenPrx", "ClosePrx", "GetPrxMd", "SetPrxMd" }
}
}
}
};
//Получение статистики
var result = somClient.GetSvc(tGet);
return result;
}
См. также:
SOAP