3373 Marc Alff 2011-05-04
Added missing new file psi_provider.h
added:
include/psi_provider.h
3372 Marc Alff 2011-05-04
PERFORMANCE SCHEMA performance optimizations
Prototyping making static calls to the instrumentation,
with PSI_CALL().
modified:
include/my_global.h
include/my_pthread.h
include/my_sys.h
include/mysql/psi/psi.h
include/mysql/psi/psi_abi_v1.h.pp
include/mysql/psi/psi_abi_v2.h.pp
mysys/lf_alloc-pin.c
sql/CMakeLists.txt
sql/mysqld.cc
storage/innobase/CMakeLists.txt
storage/perfschema/pfs.cc
storage/perfschema/pfs_instr_class.cc
storage/perfschema/pfs_server.cc
=== added file 'include/psi_provider.h'
--- a/include/psi_provider.h 1970-01-01 00:00:00 +0000
+++ b/include/psi_provider.h 2011-05-05 01:15:08 +0000
@@ -0,0 +1,52 @@
+/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+
+ 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,
+ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+
+#ifndef PSI_PROVIDER_H
+#define PSI_PROVIDER_H
+
+#include <my_global.h>
+
+#ifdef WANT_STATIC_PSI_CALL
+
+/* PSI provider: performance schema */
+#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
+
+/*
+ Performance optimization for static builds.
+ Compiling static calls to the performance schema,
+ to bypass the dynamic PSI_server interface.
+*/
+
+#define USE_PSI_V1
+#define PSI_CALL(API) pfs_ ## API ## _v1
+#include <../storage/perfschema/pfs_api.h>
+#endif /* WITH_PERFSCHEMA_STORAGE_ENGINE */
+
+/* PSI_provider: <insert other provider here> */
+
+#endif /* WANT_STATIC_PSI_CALL */
+
+/*
+ By default, dynamic call.
+*/
+
+#ifndef PSI_CALL
+#define PSI_CALL(API) PSI_server->API
+#include <mysql/psi/psi.h>
+extern MYSQL_PLUGIN_IMPORT PSI *PSI_server;
+#endif
+
+#endif
+
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk-pfs-tuning branch (marc.alff:3372 to 3373) | Marc Alff | 5 May |