libxcoder  5.2.0
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"

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_JSON, 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 More...
 
int argToI (char *numArray)
 convert number from argv input to integer if safe More...
 
int compareInt32_t (const void *a, const void *b)
 compare two int32_t for qsort More...
 
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. More...
 
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 (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 48 of file ni_rsrc_mon.c.

◆ DYN_STR_BUF_CHUNK_SIZE

#define DYN_STR_BUF_CHUNK_SIZE   4096

Definition at line 551 of file ni_rsrc_mon.c.

◆ MAX_DEVICE_NAME_SIZE

#define MAX_DEVICE_NAME_SIZE   (9)

Definition at line 47 of file ni_rsrc_mon.c.

◆ NP_LOAD

#define NP_LOAD   (0)

Definition at line 49 of file ni_rsrc_mon.c.

◆ PCIE_LOAD

#define PCIE_LOAD   (2)

Definition at line 51 of file ni_rsrc_mon.c.

◆ TP_LOAD

#define TP_LOAD   (1)

Definition at line 50 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_JSON 
FMT_TEXT 
FMT_FULL_TEXT 
FMT_SIMPLE_TEXT 
FMT_JSON 
FMT_JSON1 
FMT_JSON2 
FMT_EXTRA 

Definition at line 68 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 236 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 627 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 267 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 477 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 314 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 274 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 299 of file ni_rsrc_mon.c.

◆ main()

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

print out coders in their current order

Definition at line 2374 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 447 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 348 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 2266 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 633 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 1113 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 1606 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 952 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 2056 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 203 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 569 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 535 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 53 of file ni_rsrc_mon.c.

◆ g_temp_pload

uint32_t* g_temp_pload = NULL

Definition at line 54 of file ni_rsrc_mon.c.

◆ g_temp_pthroughput

uint32_t* g_temp_pthroughput = NULL

Definition at line 55 of file ni_rsrc_mon.c.

◆ g_temp_sharemem

uint32_t* g_temp_sharemem = NULL

Definition at line 56 of file ni_rsrc_mon.c.