void printMiscSelfDiagnostics()

in agent/native/ext/supportability.cpp [246:327]


void printMiscSelfDiagnostics( StructuredTextPrinter* structTxtPrinter )
{
    structTxtPrinter->printSectionHeading( structTxtPrinter, "Misc. self diagnostics" );

    char txtOutStreamBuf[ ELASTIC_APM_TEXT_OUTPUT_STREAM_ON_STACK_BUFFER_SIZE ];
    TextOutputStream txtOutStream = ELASTIC_APM_TEXT_OUTPUT_STREAM_FROM_STATIC_BUFFER( txtOutStreamBuf );

    String columnHeaders[] = { "What", "Current", "Default" };
    enum { numberOfColumns = ELASTIC_APM_STATIC_ARRAY_SIZE( columnHeaders ) };

    structTxtPrinter->printTableBegin( structTxtPrinter, numberOfColumns );
    structTxtPrinter->printTableHeader( structTxtPrinter, numberOfColumns, columnHeaders );

    {
        String columns[ numberOfColumns ] =
                {
                        "Assert level"
                        , streamAssertLevel( getGlobalAssertLevel(), &txtOutStream )
                        , streamAssertLevel( ELASTIC_APM_ASSERT_DEFAULT_LEVEL, &txtOutStream )
                };
        structTxtPrinter->printTableRow( structTxtPrinter, ELASTIC_APM_STATIC_ARRAY_SIZE( columns ), columns );
    }

    {
        textOutputStreamRewind( &txtOutStream );
        String columns[ numberOfColumns ] =
                {
                        "Memory tracking level"
                        , streamMemoryTrackingLevel( getGlobalMemoryTracker()->level, &txtOutStream )
                        , streamMemoryTrackingLevel( ELASTIC_APM_MEMORY_TRACKING_DEFAULT_LEVEL, &txtOutStream )
                };
        structTxtPrinter->printTableRow( structTxtPrinter, ELASTIC_APM_STATIC_ARRAY_SIZE( columns ), columns );
    }

    {
        textOutputStreamRewind( &txtOutStream );
        String columns[ numberOfColumns ] =
                {
                        "Abort on memory leak"
                        , boolToString( getGlobalMemoryTracker()->abortOnMemoryLeak )
                        , boolToString( ELASTIC_APM_MEMORY_TRACKING_DEFAULT_ABORT_ON_MEMORY_LEAK )
                };
        structTxtPrinter->printTableRow( structTxtPrinter, ELASTIC_APM_STATIC_ARRAY_SIZE( columns ), columns );
    }

    {
        textOutputStreamRewind( &txtOutStream );
        String columns[ numberOfColumns ] =
                {
                        "Internal checks level"
                        , streamInternalChecksLevel( getGlobalInternalChecksLevel(), &txtOutStream )
                        , streamInternalChecksLevel( ELASTIC_APM_INTERNAL_CHECKS_DEFAULT_LEVEL, &txtOutStream )
                };
        structTxtPrinter->printTableRow( structTxtPrinter, ELASTIC_APM_STATIC_ARRAY_SIZE( columns ), columns );
    }

    {
        textOutputStreamRewind( &txtOutStream );
        String columns[ numberOfColumns - 1 ] =
                {
                        "NDEBUG defined"
                        #ifdef NDEBUG
                        , "Yes"
                        #else
                        , "No"
                        #endif
                };
        structTxtPrinter->printTableRow( structTxtPrinter, ELASTIC_APM_STATIC_ARRAY_SIZE( columns ), columns );
    }

    {
        textOutputStreamRewind( &txtOutStream );
        String columns[ numberOfColumns - 1 ] =
                {
                        "ELASTIC_APM_IS_DEBUG_BUILD_01"
                        , streamInt( (int)(ELASTIC_APM_IS_DEBUG_BUILD_01), &txtOutStream )
                };
        structTxtPrinter->printTableRow( structTxtPrinter, ELASTIC_APM_STATIC_ARRAY_SIZE( columns ), columns );
    }

    structTxtPrinter->printTableEnd( structTxtPrinter, numberOfColumns );
}