libxcoder 5.6.0
Loading...
Searching...
No Matches
ni_rsrc_mon.c File Reference

Application to query and print live performance/load info of registered NETINT video processing devices on system. More...

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <errno.h>
#include <time.h>
#include <ctype.h>
#include <string.h>
#include "ni_device_api.h"
#include "ni_rsrc_api.h"
#include "ni_rsrc_priv.h"
#include "ni_util.h"
#include "ni_quadraprobe.h"

Go to the source code of this file.

Data Structures

struct  dyn_str_buf
 

Macros

#define MAX_DEVICE_NAME_SIZE   (9)
 
#define ABSOLUTE_TEMP_ZERO   (-273)
 
#define NP_LOAD   (0)
 
#define TP_LOAD   (1)
 
#define PCIE_LOAD   (2)
 
#define DYN_STR_BUF_CHUNK_SIZE   4096
 

Typedefs

typedef struct dyn_str_buf dyn_str_buf_t
 

Enumerations

enum  outFormat {
  FMT_TEXT , FMT_FULL_TEXT , FMT_SIMPLE_TEXT , FMT_JSON ,
  FMT_JSON1 , FMT_JSON2 , FMT_EXTRA
}
 

Functions

int remove_device_from_saved (ni_device_type_t device_type, int32_t module_id, ni_device_handle_t device_handle)
 remove one device from stored device_handles
 
int argToI (char *numArray)
 convert number from argv input to integer if safe
 
int compareInt32_t (const void *a, const void *b)
 compare two int32_t for qsort
 
char * get_pixel_format (ni_device_context_t *p_device_context, int index)
 
char * get_session_id (ni_device_context_t *p_device_context, int id)
 
unsigned int get_modules (ni_device_type_t device_type, ni_device_queue_t *p_device_queue, char *device_name, int32_t **module_ids)
 
bool open_and_query (ni_device_type_t device_type, ni_device_context_t *p_device_context, ni_session_context_t *p_session_context, char *device_name, int detail, ni_instance_mgr_detail_status_v1_t *detail_data_v1)
 
bool open_and_get_log (ni_device_context_t *p_device_context, ni_session_context_t *p_session_context, void **p_log_buffer, bool gen_log_file)
 
void dump_fw_log (ni_device_queue_t *coders, ni_session_context_t *sessionCtxt, int devid)
 
bool swap_encoder_and_uploader (ni_device_type_t *p_device_type, char *device_name)
 
int strcat_dyn_buf (dyn_str_buf_t *dyn_str_buf, const char *fmt,...)
 Accumulate string data in a dynamically sized buffer. This is useful to separate error messages from json and table output.
 
void clear_dyn_str_buf (dyn_str_buf_t *dyn_str_buf)
 
void print_full_text (ni_device_queue_t *p_device_queue, ni_session_context_t *p_session_context, int detail, ni_instance_mgr_detail_status_v1_t *detail_data_v1)
 
void print_simple_text (ni_device_queue_t *p_device_queue, ni_session_context_t *p_session_context, int detail, ni_instance_mgr_detail_status_v1_t *detail_data_v1)
 
void print_json_detail (ni_device_queue_t *p_device_queue, ni_session_context_t *p_session_context, ni_instance_mgr_detail_status_v1_t *detail_data_v1)
 
void print_json (ni_device_queue_t *p_device_queue, ni_session_context_t *p_session_context, int detail, ni_instance_mgr_detail_status_v1_t *detail_data_v1)
 
void print_json1 (ni_device_queue_t *p_device_queue, ni_session_context_t *p_session_context, int detail, ni_instance_mgr_detail_status_v1_t *detail_data_v1, int format)
 
void print_text (ni_device_queue_t *coders, ni_session_context_t *sessionCtxt, int detail, ni_instance_mgr_detail_status_v1_t *detail_data_v1, ni_instance_mgr_detail_status_v1_t(*previous_detail_data_p)[NI_DEVICE_TYPE_XCODER_MAX], int checkInterval)
 
void print_extra (ni_device_queue_t *p_device_queue, ni_session_context_t *p_session_context, int internal_call)
 
int main (int argc, char *argv[])
 

Variables

uint32_t * g_temp_load = NULL
 
uint32_t * g_temp_pload = NULL
 
uint32_t * g_temp_pthroughput = NULL
 
uint32_t * g_temp_sharemem = NULL
 
ni_device_handle_t device_handles [NI_DEVICE_TYPE_XCODER_MAX][NI_MAX_DEVICE_CNT] = {0}
 

Detailed Description

Application to query and print live performance/load info of registered NETINT video processing devices on system.


Definition in file ni_rsrc_mon.c.

Macro Definition Documentation

◆ ABSOLUTE_TEMP_ZERO

#define ABSOLUTE_TEMP_ZERO   (-273)

Definition at line 49 of file ni_rsrc_mon.c.

◆ DYN_STR_BUF_CHUNK_SIZE

#define DYN_STR_BUF_CHUNK_SIZE   4096

Definition at line 531 of file ni_rsrc_mon.c.

◆ MAX_DEVICE_NAME_SIZE

#define MAX_DEVICE_NAME_SIZE   (9)

Definition at line 48 of file ni_rsrc_mon.c.

◆ NP_LOAD

#define NP_LOAD   (0)

Definition at line 50 of file ni_rsrc_mon.c.

◆ PCIE_LOAD

#define PCIE_LOAD   (2)

Definition at line 52 of file ni_rsrc_mon.c.

◆ TP_LOAD

#define TP_LOAD   (1)

Definition at line 51 of file ni_rsrc_mon.c.

Typedef Documentation

◆ dyn_str_buf_t

typedef struct dyn_str_buf dyn_str_buf_t

Enumeration Type Documentation

◆ outFormat

enum outFormat
Enumerator
FMT_TEXT 
FMT_FULL_TEXT 
FMT_SIMPLE_TEXT 
FMT_JSON 
FMT_JSON1 
FMT_JSON2 
FMT_EXTRA 

Definition at line 69 of file ni_rsrc_mon.c.

Function Documentation

◆ argToI()

int argToI ( char *  numArray)

convert number from argv input to integer if safe


Parameters
char*numArray
Returns
int atoi(numArray)

Definition at line 212 of file ni_rsrc_mon.c.

◆ clear_dyn_str_buf()

void clear_dyn_str_buf ( dyn_str_buf_t dyn_str_buf)

Definition at line 608 of file ni_rsrc_mon.c.

◆ compareInt32_t()

int compareInt32_t ( const void *  a,
const void *  b 
)

compare two int32_t for qsort


Parameters
[in]constvoid *a
[in]constvoid *b
Returns
int atoi(numArray)

Definition at line 243 of file ni_rsrc_mon.c.

◆ dump_fw_log()

void dump_fw_log ( ni_device_queue_t coders,
ni_session_context_t sessionCtxt,
int  devid 
)

Definition at line 457 of file ni_rsrc_mon.c.

◆ get_modules()

unsigned int get_modules ( ni_device_type_t  device_type,
ni_device_queue_t p_device_queue,
char *  device_name,
int32_t **  module_ids 
)

Definition at line 290 of file ni_rsrc_mon.c.

◆ get_pixel_format()

char * get_pixel_format ( ni_device_context_t p_device_context,
int  index 
)

Definition at line 250 of file ni_rsrc_mon.c.

◆ get_session_id()

char * get_session_id ( ni_device_context_t p_device_context,
int  id 
)

Definition at line 275 of file ni_rsrc_mon.c.

◆ main()

int main ( int  argc,
char *  argv[] 
)

print out coders in their current order

Definition at line 2504 of file ni_rsrc_mon.c.

◆ open_and_get_log()

bool open_and_get_log ( ni_device_context_t p_device_context,
ni_session_context_t p_session_context,
void **  p_log_buffer,
bool  gen_log_file 
)

Definition at line 425 of file ni_rsrc_mon.c.

◆ open_and_query()

bool open_and_query ( ni_device_type_t  device_type,
ni_device_context_t p_device_context,
ni_session_context_t p_session_context,
char *  device_name,
int  detail,
ni_instance_mgr_detail_status_v1_t detail_data_v1 
)

Definition at line 324 of file ni_rsrc_mon.c.

◆ print_extra()

void print_extra ( ni_device_queue_t p_device_queue,
ni_session_context_t p_session_context,
int  internal_call 
)

Definition at line 2392 of file ni_rsrc_mon.c.

◆ print_full_text()

void print_full_text ( ni_device_queue_t p_device_queue,
ni_session_context_t p_session_context,
int  detail,
ni_instance_mgr_detail_status_v1_t detail_data_v1 
)

Definition at line 614 of file ni_rsrc_mon.c.

◆ print_json()

void print_json ( ni_device_queue_t p_device_queue,
ni_session_context_t p_session_context,
int  detail,
ni_instance_mgr_detail_status_v1_t detail_data_v1 
)

Definition at line 1246 of file ni_rsrc_mon.c.

◆ print_json1()

void print_json1 ( ni_device_queue_t p_device_queue,
ni_session_context_t p_session_context,
int  detail,
ni_instance_mgr_detail_status_v1_t detail_data_v1,
int  format 
)

Definition at line 1735 of file ni_rsrc_mon.c.

◆ print_json_detail()

void print_json_detail ( ni_device_queue_t p_device_queue,
ni_session_context_t p_session_context,
ni_instance_mgr_detail_status_v1_t detail_data_v1 
)

Definition at line 1093 of file ni_rsrc_mon.c.

◆ print_simple_text()

void print_simple_text ( ni_device_queue_t p_device_queue,
ni_session_context_t p_session_context,
int  detail,
ni_instance_mgr_detail_status_v1_t detail_data_v1 
)

Definition at line 932 of file ni_rsrc_mon.c.

◆ print_text()

void print_text ( ni_device_queue_t coders,
ni_session_context_t sessionCtxt,
int  detail,
ni_instance_mgr_detail_status_v1_t detail_data_v1,
ni_instance_mgr_detail_status_v1_t(*)  previous_detail_data_p[NI_DEVICE_TYPE_XCODER_MAX],
int  checkInterval 
)

query each coder and print out their status

libxcoder query to get status info including load and instances;

Definition at line 2181 of file ni_rsrc_mon.c.

◆ remove_device_from_saved()

int remove_device_from_saved ( ni_device_type_t  device_type,
int32_t  module_id,
ni_device_handle_t  device_handle 
)

remove one device from stored device_handles


Parameters
ni_device_type_tdevice_type
int32_tmodule_id
ni_device_handle_tdevice_handle
Returns
int 0 for success, -1 for failure

Definition at line 179 of file ni_rsrc_mon.c.

◆ strcat_dyn_buf()

int strcat_dyn_buf ( dyn_str_buf_t dyn_str_buf,
const char *  fmt,
  ... 
)

Accumulate string data in a dynamically sized buffer. This is useful to separate error messages from json and table output.


Parameters
[in]*dyn_str_bufpointer to structure holding dyn_str_buf info
[in]*fmtprintf format specifier
[in]...additional arguments
Returns
0 for success, -1 for error

Definition at line 549 of file ni_rsrc_mon.c.

◆ swap_encoder_and_uploader()

bool swap_encoder_and_uploader ( ni_device_type_t p_device_type,
char *  device_name 
)

Definition at line 515 of file ni_rsrc_mon.c.

Variable Documentation

◆ device_handles

ni_device_handle_t device_handles[NI_DEVICE_TYPE_XCODER_MAX][NI_MAX_DEVICE_CNT] = {0}

Definition at line 59 of file ni_rsrc_mon.c.

◆ g_temp_load

uint32_t* g_temp_load = NULL

Definition at line 54 of file ni_rsrc_mon.c.

◆ g_temp_pload

uint32_t* g_temp_pload = NULL

Definition at line 55 of file ni_rsrc_mon.c.

◆ g_temp_pthroughput

uint32_t* g_temp_pthroughput = NULL

Definition at line 56 of file ni_rsrc_mon.c.

◆ g_temp_sharemem

uint32_t* g_temp_sharemem = NULL

Definition at line 57 of file ni_rsrc_mon.c.