summaryrefslogtreecommitdiff
path: root/storage/perfschema/pfs_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/perfschema/pfs_server.h')
-rw-r--r--storage/perfschema/pfs_server.h101
1 files changed, 101 insertions, 0 deletions
diff --git a/storage/perfschema/pfs_server.h b/storage/perfschema/pfs_server.h
new file mode 100644
index 00000000000..acf483e1f86
--- /dev/null
+++ b/storage/perfschema/pfs_server.h
@@ -0,0 +1,101 @@
+/* Copyright (C) 2008-2009 Sun Microsystems, Inc
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#ifndef PFS_SERVER_H
+#define PFS_SERVER_H
+
+/**
+ @file storage/perfschema/pfs_server.h
+ Private interface for the server (declarations).
+*/
+
+#ifndef PFS_MAX_MUTEX_CLASS
+ #define PFS_MAX_MUTEX_CLASS 200
+#endif
+#ifndef PFS_MAX_MUTEX
+ #define PFS_MAX_MUTEX 1000
+#endif
+#ifndef PFS_MAX_RWLOCK_CLASS
+ #define PFS_MAX_RWLOCK_CLASS 20
+#endif
+#ifndef PFS_MAX_RWLOCK
+ #define PFS_MAX_RWLOCK 1000
+#endif
+#ifndef PFS_MAX_COND_CLASS
+ #define PFS_MAX_COND_CLASS 80
+#endif
+#ifndef PFS_MAX_COND
+ #define PFS_MAX_COND 1000
+#endif
+#ifndef PFS_MAX_THREAD_CLASS
+ #define PFS_MAX_THREAD_CLASS 50
+#endif
+#ifndef PFS_MAX_THREAD
+ #define PFS_MAX_THREAD 1000
+#endif
+#ifndef PFS_MAX_FILE_CLASS
+ #define PFS_MAX_FILE_CLASS 50
+#endif
+#ifndef PFS_MAX_FILE
+ #define PFS_MAX_FILE 10000
+#endif
+#ifndef PFS_MAX_FILE_HANDLE
+ #define PFS_MAX_FILE_HANDLE 32768
+#endif
+#ifndef PFS_MAX_TABLE_SHARE
+ #define PFS_MAX_TABLE_SHARE 50000
+#endif
+#ifndef PFS_MAX_TABLE
+ #define PFS_MAX_TABLE 100000
+#endif
+#ifndef PFS_WAITS_HISTORY_SIZE
+ #define PFS_WAITS_HISTORY_SIZE 10
+#endif
+#ifndef PFS_WAITS_HISTORY_LONG_SIZE
+ #define PFS_WAITS_HISTORY_LONG_SIZE 10000
+#endif
+
+struct PFS_global_param
+{
+ bool m_enabled;
+ ulong m_mutex_class_sizing;
+ ulong m_rwlock_class_sizing;
+ ulong m_cond_class_sizing;
+ ulong m_thread_class_sizing;
+ ulong m_table_share_sizing;
+ ulong m_file_class_sizing;
+ ulong m_mutex_sizing;
+ ulong m_rwlock_sizing;
+ ulong m_cond_sizing;
+ ulong m_thread_sizing;
+ ulong m_table_sizing;
+ ulong m_file_sizing;
+ ulong m_file_handle_sizing;
+ ulong m_events_waits_history_sizing;
+ ulong m_events_waits_history_long_sizing;
+};
+
+extern PFS_global_param pfs_param;
+
+struct PSI_bootstrap*
+initialize_performance_schema(const PFS_global_param *param);
+
+void initialize_performance_schema_acl(bool bootstrap);
+
+void check_performance_schema();
+
+void shutdown_performance_schema();
+
+#endif