38 #ifndef SKIP_DOXYGEN_PROCESSING
44 static const string kIdFile=
"/sys/class/dmi/id/sys_vendor";
48 char * blast_docker = getenv(
"BLAST_DOCKER");
49 if(blast_docker !=
NULL){
59 if (line.find(
"GOOGLE") !=
NPOS) {
62 else if (line.find(
"AMAZON")!=
NPOS){
67 char* elb_job_id = getenv(
"BLAST_ELB_JOB_ID");
68 if(elb_job_id !=
NULL){
69 string j_id(elb_job_id);
72 char* elb_batch_num = getenv(
"BLAST_ELB_BATCH_NUM");
73 if(elb_batch_num !=
NULL){
77 char* elb_version = getenv(
"BLAST_ELB_VERSION");
78 if(elb_version !=
NULL){
79 string ev(elb_version);
104 case eApp: retval.assign(
"ncbi_app");
break;
105 case eVersion: retval.assign(
"version");
break;
106 case eProgram: retval.assign(
"program");
break;
107 case eTask: retval.assign(
"task");
break;
108 case eExitStatus: retval.assign(
"exit_status");
break;
109 case eRunTime: retval.assign(
"run_time");
break;
110 case eDBName: retval.assign(
"db_name");
break;
111 case eDBLength: retval.assign(
"db_length");
break;
112 case eDBNumSeqs: retval.assign(
"db_num_seqs");
break;
113 case eDBDate: retval.assign(
"db_date");
break;
114 case eBl2seq: retval.assign(
"bl2seq");
break;
115 case eNumSubjects: retval.assign(
"num_subjects");
break;
117 case eNumQueries: retval.assign(
"num_queries");
break;
120 case eNumThreads: retval.assign(
"num_threads");
break;
121 case eHitListSize: retval.assign(
"hitlist_size");
break;
122 case eOutputFmt: retval.assign(
"output_fmt");
break;
123 case eTaxIdList: retval.assign(
"taxidlist");
break;
124 case eNegTaxIdList: retval.assign(
"negative_taxidlist");
break;
125 case eGIList: retval.assign(
"gilist");
break;
126 case eNegGIList: retval.assign(
"negative_gilist");
break;
127 case eSeqIdList: retval.assign(
"seqidlist");
break;
128 case eNegSeqIdList: retval.assign(
"negative_seqidlist");
break;
129 case eIPGList: retval.assign(
"ipglist");
break;
130 case eNegIPGList: retval.assign(
"negative_ipglist");
break;
131 case eMaskAlgo: retval.assign(
"mask_algo");
break;
133 case eRange: retval.assign(
"range");
break;
134 case eMTMode: retval.assign(
"mt_mode");
break;
136 case eNumErrStatus: retval.assign(
"num_error_status");
break;
137 case ePSSMInput: retval.assign(
"pssm_input");
break;
138 case eConverged: retval.assign(
"converged");
break;
140 case eRIDInput: retval.assign(
"rid");
break;
141 case eDBInfo: retval.assign(
"db_info");
break;
142 case eDBTaxInfo: retval.assign(
"db_tax_info");
break;
143 case eDBEntry: retval.assign(
"db_entry");
break;
144 case eDBDumpAll: retval.assign(
"db_entry_all");
break;
145 case eDBType: retval.assign(
"db_type");
break;
146 case eInputType: retval.assign(
"input_type");
break;
147 case eParseSeqIDs: retval.assign(
"parse_seqids");
break;
148 case eSeqType: retval.assign(
"seq_type");
break;
149 case eDBTest: retval.assign(
"db_test");
break;
150 case eDBAliasMode: retval.assign(
"db_alias_mode");
break;
151 case eDocker: retval.assign(
"docker");
break;
152 case eGCP: retval.assign(
"gcp");
break;
153 case eAWS: retval.assign(
"aws");
break;
154 case eELBJobId: retval.assign(
"elb_job_id");
break;
155 case eELBBatchNum: retval.assign(
"elb_batch_num");
break;
156 case eSRA: retval.assign(
"sra");
break;
157 case eELBVersion: retval.assign(
"elb_version");
break;
192 char * blast_usage_env = getenv(
"BLAST_USAGE_REPORT");
193 if(blast_usage_env !=
NULL){
210 LOG_POST(
Info <<
"Phone home disabled by config setting");
static const string kNcbiAppName
static const string kIdFile
string x_EUsageParmsToString(EUsageParams p)
CUsageReportParameters m_Params
void x_CheckBlastUsageEnv()
void AddParam(EUsageParams p, int val)
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Warning(CExceptionArgs_Base &args)
void Info(CExceptionArgs_Base &args)
const string & GetPath(void) const
Get entry path.
virtual bool Exists(void) const
Check existence of file.
int64_t Int8
8-byte (64-bit) signed integer
virtual const string & Get(const string §ion, const string &name, TFlags flags=0) const
Get the parameter value.
virtual bool HasEntry(const string §ion, const string &name=kEmptyStr, TFlags flags=0) const
@ fWithNcbirc
Include .ncbirc (used only by CNcbiReg.)
void Finish(void)
Finish reporting for the current reporting object.
void Send(void)
Report usage statistics (asynchronously), default parameters.
void SetEnabled(bool enable=true)
Enable or disable usage reporter (current instance only).
void Wait(void)
Wait until all queued jobs starts to process and queue is empty.
CUsageReportParameters & Add(const string &name, const string &value)
Add argument Name must contain only alphanumeric chars or '_'.
static void SetEnabled(bool enable=true)
Enable or disable usage statistics reporting globally for all reporters.
bool IsEnabled(void)
Indicates whether application usage statistics collection is enabled for a current reporter instance.
CNcbiIstream & NcbiGetlineEOL(CNcbiIstream &is, string &str, string::size_type *count=NULL)
Read from "is" to "str" the next line (taking into account platform specifics of End-of-Line)
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
static bool StringToBool(const CTempString str)
Convert string to bool.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static string & ToUpper(string &str)
Convert string to upper case – string& version.
@ fConvErr_NoThrow
Do not throw an exception on error.
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
std::istream & in(std::istream &in_, double &x_)