统计点

Navigation:  C++ > 统计管理接口 >

统计点

Previous pageReturn to chapter overviewNext page

 

《统计点》主要介绍一下接口:

st3_query_tags_cond

st3_query_tag_prop

st3_modify_tag_prop

st3_modify_tags_prop

st3_query_specify_page_tags_cond

st3_add_tag

st3_add_tags

 

stats tag

copycode!MISSING PHRASE 'COPYCODE'!

///*

 

#include "hdKingAPI.h"

#include "error_code.h"

#include "data_types.h"

#include "hd3Struct.h"

#include <stdio.h>

#include <string.h>

 

int main()

{

 int32 nRet = RD_SUCCESS;

 HD3Connection conn;

 HD3PtTagProp normalTag;

 HD3StatsTagProp statTagSave;

 HD3StatsTagProp statTagQuery;

 const char* szTagName_1 = "szStatTagName_1";

 const char* szTagName_2 = "szStatTagName_2";

 HD3HANDLE hIter = NULL;

 int32 nTagNum = 0;

 HD3Mask mask;

 HD3FilterItemSet filterSet;

 HD3FilterItem filterItem[2];

 HD3PageQueryTagParam pageQueryParam;

 int32 nErrCode = 0;

 

 //connect

 strcpy(conn.szAddress, "127.0.0.1");

 conn.nPort = 5673;

 conn.nTimeout = 3;

 nRet = nt3_connect(&conn);

 if (nRet != RD_SUCCESS)

 {

         printf("connect to server failed, error code[%d]!\n", nRet);

         return -1;

 }

 

 //login

 nRet = sc3_login("admin", "admin");

 if (nRet != RD_SUCCESS)

 {

         printf("login failed, error code[%d]!\n", nRet);

         return -1;

 }

 printf("login successful!\n");

 

 //add one normal tag and get tag id

 strcpy(normalTag.szTagName, "szNormalTag");

 normalTag.nTagType = HD3_TAG_TYPE_INT32;

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME | HD3M_COMM_PROP_TAG_TYPE;

 mask.nExtMask = 0;

 nRet = pt3_add_tag(&normalTag, &mask, "", &normalTag.nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("add tag[%s] failed, error code [%d]!\n", normalTag.szTagName, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("add tag[%s] successful!\n", normalTag.szTagName);

 

 //add two stat tag

 strcpy(statTagSave.szTagName, szTagName_1);

 strcpy(statTagSave.szSourceTagName, normalTag.szTagName);

 statTagSave.nScanPeriod = 60;

 statTagSave.nStatsType = HD3_STATS_TYPE_MAX;

 statTagSave.nSampleMode = HD3_STATS_SAMPLE_MODE_INTERVAL;

 statTagSave.nSampleInterval = 3600;

 statTagSave.nSampleStartDate = 1;

 statTagSave.nSampleType = HD3_STATS_SAMPLE_TYPE_RAW;

 statTagSave.nCalcPeriod = 0;

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME;

 mask.nExtMask = HD3M_ST_EXT_PROP_SOURCE_TAG_NAME |HD3M_ST_EXT_PROP_SCAN_PERIOD

         | HD3M_ST_EXT_PROP_STATS_TYPE | HD3M_ST_EXT_PROP_SAMPLE_MODE

         | HD3M_ST_EXT_PROP_SAMPLE_INTERVAL | HD3M_ST_EXT_PROP_SAMPLE_START_DATE

         | HD3M_ST_EXT_PROP_SAMPLE_TYPE | HD3M_ST_EXT_PROP_CALC_PERIOD;

 nRet = st3_add_tag(&statTagSave, &mask, "", &statTagSave.nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("add stat tag[%s] failed, error code [%d]!\n", statTagSave.szTagName, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("add tags[%s] successful!\n", statTagSave.szTagName);

 

 strcpy(statTagSave.szTagName, szTagName_2);

 strcpy(statTagSave.szSourceTagName, normalTag.szTagName);

 statTagSave.nScanPeriod = 60;

 statTagSave.nStatsType = HD3_STATS_TYPE_MIN;

 statTagSave.nSampleMode = HD3_STATS_SAMPLE_MODE_INTERVAL;

 statTagSave.nSampleInterval = 3600;

 statTagSave.nSampleStartDate = 1;

 statTagSave.nSampleType = HD3_STATS_SAMPLE_TYPE_RAW;

 statTagSave.nCalcPeriod = 0;

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME;

 mask.nExtMask = HD3M_ST_EXT_PROP_SOURCE_TAG_NAME |HD3M_ST_EXT_PROP_SCAN_PERIOD

         | HD3M_ST_EXT_PROP_STATS_TYPE | HD3M_ST_EXT_PROP_SAMPLE_MODE

         | HD3M_ST_EXT_PROP_SAMPLE_INTERVAL | HD3M_ST_EXT_PROP_SAMPLE_START_DATE

         | HD3M_ST_EXT_PROP_SAMPLE_TYPE | HD3M_ST_EXT_PROP_CALC_PERIOD;

 nRet = st3_add_tags(1, &statTagSave, &mask, "", &statTagSave.nTagID, &nErrCode);

 if (nRet != RD_SUCCESS)

 {

         printf("add stat tag[%s] failed, error code [%d]!\n", statTagSave.szTagName, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("add tags[%s] successful!\n", statTagSave.szTagName);

 

 //query tags by condition

 filterItem[0].nItemID = HD3_TAG_COL_COMM_PROP_TAG_NAME;

 filterItem[0].nRelation = HD3_RELATION_LIKE;

 strcpy(filterItem[0].szValue, "*");

 

 filterItem[1].nItemID = HD3_TAG_COL_COMM_PROP_TAG_TYPE;

 filterItem[1].nRelation = HD3_RELATION_EQUAL;

 sprintf(filterItem[1].szValue, "%d", HD3_STATS_TYPE_MIN);

 filterSet.nSize = 2;

 filterSet.pItem = filterItem;

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME;

 mask.nExtMask = 0;

 nRet = st3_query_tags_cond(&filterSet, &mask, &hIter);

 if (nRet != RD_SUCCESS)

 {

         printf("query tags by condition failed, error code [%d]!\n", nRet);

         nt3_disconnect();

         return -1;

 }

 

 while (true)

 {

         nRet = ut3_get_item_step(hIter, &statTagQuery);

         if (RD_SUCCESS == nRet)

         {

                 nTagNum ++;

                 printf("query tag successful, tag name is %s!\n", statTagQuery.szTagName);

         }

         else if (EC_HD_API_QUERY_END == nRet)

         {

                 printf("query tag complete!\n");

                 break;

         }

         else

         {

                 printf("query tag failed, error code [%d]!\n", nRet);

                 break;

         }

 }

 printf("you have queried %d stat tags totally!\n", nTagNum);

 

 ut3_free_handle(hIter);

 

 //query page tag by condition

 pageQueryParam.itemSet = filterSet;

 pageQueryParam.mask = mask;

 pageQueryParam.nCapacity = 20;

 pageQueryParam.nStartID = 0;

 nRet = st3_query_specify_page_tags_cond(&pageQueryParam, &hIter);

 if (nRet != RD_SUCCESS)

 {

         printf("query tags by condition failed, error code [%d]!\n", nRet);

         nt3_disconnect();

         return -1;

 }

 

 nTagNum = 0;

 

 while (true)

 {

         nRet = ut3_get_item_step(hIter, &statTagQuery);

         if (RD_SUCCESS == nRet)

         {

                 nTagNum ++;

                 printf("query tag successful, tag name is %s!\n", statTagQuery.szTagName);

         }

         else if (EC_HD_API_QUERY_END == nRet)

         {

                 printf("query tag complete!\n");

                 break;

         }

         else

         {

                 printf("query tag failed, error code [%d]!\n", nRet);

                 break;

         }

 }

 printf("you have queried %d stat tags totally!\n", nTagNum);

 

 ut3_free_handle(hIter);

 

 //query tag id

 uint32 nTagID = 0;

 nRet = tag3_query_id_by_name(szTagName_1, &nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("query tag id failed, stat tag name[%s], error code[%d]!\n", szTagName_1, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("stat tag[%s] query tag id successful, tag id[%d]!\n", szTagName_1, nTagID);

 

 //modify tag desc

 strcpy(statTagSave.szDescriptor, "stat tag descriptor is modified");

 mask.nCommMask = HD3M_COMM_PROP_DESCRIPTOR;

 mask.nExtMask = 0;

 nRet = st3_modify_tag_prop(nTagID, &statTagSave, &mask);

 if (nRet != RD_SUCCESS)

 {

         printf("modify stat tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("modify stat tag successful, tag id[%d]!\n", nTagID);

 

 //modify tag desc

 strcpy(statTagSave.szDescriptor, "stat tag descriptor is modified");

 mask.nCommMask = HD3M_COMM_PROP_DESCRIPTOR;

 mask.nExtMask = 0;

 nRet = st3_modify_tags_prop(1, &nTagID, &statTagSave, &mask, &nErrCode);

 if (nRet != RD_SUCCESS)

 {

         printf("modify stat tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("modify stat tag successful, tag id[%d]!\n", nTagID);

 

 //query tag prop

 nRet = st3_query_tag_prop(nTagID, &statTagQuery);

 if (nRet != RD_SUCCESS)

 {

         printf("query stat tag prop failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("query stat tag prop successful, tag id[%d], tag name[%s], tag description[%s]!\n",

         statTagQuery.nTagID, statTagQuery.szTagName, statTagQuery.szDescriptor);

 

 //delete tag

 nRet = tag3_delete_tag(nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("delete stat tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("delete stat tag successful, tag id[%d]!\n", nTagID);

 

 nt3_disconnect();

 

 return 0;

}

 

//*/

 

©2015. All Rights Reserved.