CCTLib
Calling-context and data-object attribution library for Intel Pin
cct_metric_client.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <iostream>
#include <unistd.h>
#include <assert.h>
#include <string.h>
#include <sstream>
#include <sys/types.h>
#include <sys/stat.h>
#include "pin.H"
#include "cctlib.H"
+ Include dependency graph for cct_metric_client.cpp:

Go to the source code of this file.

Macros

#define HAVE_METRIC_PER_IPNODE
 
#define MAX_THREADS   1024
 

Functions

static INT32 Usage ()
 
void ClientInit (int argc, char *argv[])
 
VOID ThreadStartFunc (THREADID threadid, CONTEXT *ctxt, INT32 code, VOID *v)
 
VOID ThreadFiniFunc (THREADID threadid, const CONTEXT *ctxt, INT32 code, VOID *v)
 
void mergeFunc (void *des, void *src)
 
uint64_t computeMetricVal (void *metric)
 
VOID SimpleCCTQuery (THREADID id, const uint32_t slot)
 
VOID InstrumentInsCallback (INS ins, VOID *v, const uint32_t slot)
 
int main (int argc, char *argv[])
 

Variables

FILE * gTraceFile
 
long mm [MAX_THREADS]
 
int ins_metric_id = 0
 

Macro Definition Documentation

◆ HAVE_METRIC_PER_IPNODE

#define HAVE_METRIC_PER_IPNODE

Definition at line 18 of file cct_metric_client.cpp.

◆ MAX_THREADS

#define MAX_THREADS   1024

Definition at line 21 of file cct_metric_client.cpp.

Function Documentation

◆ ClientInit()

void ClientInit ( int  argc,
char *  argv[] 
)

Definition at line 39 of file cct_metric_client.cpp.

References gTraceFile, and MAX_FILE_PATH.

Referenced by main().

◆ computeMetricVal()

uint64_t computeMetricVal ( void *  metric)

Definition at line 76 of file cct_metric_client.cpp.

References PinCCTLib::metric.

Referenced by PinCCTLib::init_hpcrun_format(), and main().

◆ InstrumentInsCallback()

VOID InstrumentInsCallback ( INS  ins,
VOID *  v,
const uint32_t  slot 
)

Definition at line 98 of file cct_metric_client.cpp.

References SimpleCCTQuery().

Referenced by main().

◆ main()

◆ mergeFunc()

void mergeFunc ( void *  des,
void *  src 
)

Definition at line 68 of file cct_metric_client.cpp.

References src.

Referenced by PinCCTLib::init_hpcrun_format(), and main().

◆ SimpleCCTQuery()

VOID SimpleCCTQuery ( THREADID  id,
const uint32_t  slot 
)

Definition at line 83 of file cct_metric_client.cpp.

References PinCCTLib::GetContextHandle(), and mm.

Referenced by InstrumentInsCallback().

◆ ThreadFiniFunc()

VOID ThreadFiniFunc ( THREADID  threadid,
const CONTEXT *  ctxt,
INT32  code,
VOID *  v 
)

Definition at line 62 of file cct_metric_client.cpp.

References mm, and PinCCTLib::newCCT_hpcrun_write().

Referenced by main().

◆ ThreadStartFunc()

VOID ThreadStartFunc ( THREADID  threadid,
CONTEXT *  ctxt,
INT32  code,
VOID *  v 
)

Definition at line 58 of file cct_metric_client.cpp.

References mm.

Referenced by main().

◆ Usage()

static INT32 Usage ( )
static

Definition at line 26 of file cct_metric_client.cpp.

Referenced by main().

Variable Documentation

◆ gTraceFile

FILE* gTraceFile

Definition at line 33 of file cct_metric_client.cpp.

Referenced by ClientInit(), and main().

◆ ins_metric_id

int ins_metric_id = 0

Definition at line 36 of file cct_metric_client.cpp.

Referenced by main().

◆ mm

long mm[MAX_THREADS]

Definition at line 35 of file cct_metric_client.cpp.

Referenced by SimpleCCTQuery(), ThreadFiniFunc(), and ThreadStartFunc().