mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 15:23:03 +01:00
75 lines
2.2 KiB
C
75 lines
2.2 KiB
C
/*
|
|
* PROGRAM: JRD Access Method
|
|
* MODULE: ntrace.h
|
|
* DESCRIPTION: Trace API header
|
|
*
|
|
* The contents of this file are subject to the Initial
|
|
* Developer's Public License Version 1.0 (the "License");
|
|
* you may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at
|
|
* http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl.
|
|
*
|
|
* Software distributed under the License is distributed AS IS,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing rights
|
|
* and limitations under the License.
|
|
*
|
|
* The Original Code was created by Nickolay Samofatov
|
|
* for the Firebird Open Source RDBMS project.
|
|
*
|
|
* Copyright (c) 2004 Nickolay Samofatov <nickolay@broadviewsoftware.com>
|
|
* and all contributors signed below.
|
|
*
|
|
* All Rights Reserved.
|
|
* Contributor(s): ______________________________________.
|
|
*
|
|
* 2008 Khorsun Vladyslav
|
|
*
|
|
*/
|
|
|
|
#ifndef FIREBIRD_NTRACE_H
|
|
#define FIREBIRD_NTRACE_H
|
|
|
|
#include "firebird/Interface.h"
|
|
|
|
const int DBB_max_rel_count = 8; // must be the same as DBB_max_count from jrd.h
|
|
|
|
// Performance counters for entire database
|
|
|
|
enum {
|
|
DBB_fetches_count = 0,
|
|
DBB_reads_count,
|
|
DBB_marks_count,
|
|
DBB_writes_count,
|
|
DBB_max_dbb_count
|
|
};
|
|
|
|
// Performance counters for individual table
|
|
typedef int ntrace_relation_t;
|
|
struct TraceCounts
|
|
{
|
|
ntrace_relation_t trc_relation_id; // Relation ID
|
|
const char* trc_relation_name; // Relation name
|
|
const ISC_INT64* trc_counters; // Pointer to allow easy addition of new counters
|
|
};
|
|
|
|
// Performance statistics for operation
|
|
struct PerformanceInfo
|
|
{
|
|
ISC_INT64 pin_time; // Total operation time in milliseconds
|
|
ISC_INT64* pin_counters; // Pointer to allow easy addition of new counters
|
|
|
|
size_t pin_count; // Number of relations involved in analysis
|
|
struct TraceCounts* pin_tables; // Pointer to array with table stats
|
|
|
|
ISC_INT64 pin_records_fetched; // records fetched from statement/procedure
|
|
};
|
|
|
|
typedef unsigned int ntrace_result_t;
|
|
typedef unsigned char ntrace_byte_t;
|
|
typedef ISC_UINT64 ntrace_counter_t;
|
|
typedef unsigned int ntrace_process_state_t;
|
|
typedef ISC_UINT64 ntrace_mask_t;
|
|
|
|
#endif // FIREBIRD_NTRACE_H
|