Pinba is a statistics server for PHP using MySQL as a read-only

interface.

It accumulates and processes data sent over UDP by multiple PHP
processes and displays statistics in a nice human-readable form of
simple "reports", also providing a read-only interface to the raw
data to enable generation of more sophisticated reports.

With the Pinba extension, users can also measure particular parts
of the code using timers with arbitrary tags.

Pinba is not a debugging tool in the common sense, since you're not
supposed to do debugging on production servers, but its main goal
is to help developers to locate bottlenecks in realtime and direct
their attention to the code that really needs it.

WWW:    http://pinba.org/

- raven428 raven428@gmail.com

PR:		ports/141997
Submitted by:	raven428 <raven428 at gmail.com>
This commit is contained in:
Greg Larkin 2010-01-07 23:52:46 +00:00
parent 794a0f6281
commit eb67ad58d8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=247357
7 changed files with 102 additions and 0 deletions

View file

@ -2387,6 +2387,7 @@
SUBDIR += picprog
SUBDIR += pikdev
SUBDIR += piklab
SUBDIR += pinba_engine
SUBDIR += pinstall
SUBDIR += pipestatus
SUBDIR += pkg-config

View file

@ -0,0 +1,53 @@
# New ports collection makefile for: pinba_engine
# Date created: 24 Dec 2009
# Whom: raven428 <raven428@gmail.com>
#
# $FreeBSD$
#
PORTNAME= pinba_engine
PORTVERSION= 2009.12.24
CATEGORIES= devel
MASTER_SITES= http://aston2.com/~raven/unix/pinba/ \
http://mks-chel.ru/~raven/FreeBSD/pinba/
DISTNAME= pinba_engine-200912240755
MAINTAINER= raven428@gmail.com
COMMENT= Mysql-engine part of statistics server for PHP
BUILD_DEPENDS= ${LOCALBASE}/include/google/protobuf/descriptor.h:${PORTSDIR}/devel/protobuf \
${LOCALBASE}/include/event.h:${PORTSDIR}/devel/libevent \
${LOCALBASE}/include/Judy.h:${PORTSDIR}/devel/judy \
${LOCALBASE}/lib/mysql/plugin:${MYSQL_PORTDIR} \
${NONEXISTENT}:${MYSQL_PORTDIR}:configure
WRKSRC= ${WRKDIR}/${DISTNAME}
USE_MYSQL= yes
WANT_MYSQL_VER= 51
MYSQL_PORTDIR= ${PORTSDIR}/databases/mysql${MYSQL_VER}-server
MYSQL_WRKSRC= $$(cd ${MYSQL_PORTDIR} && ${MAKE} -V WRKSRC)
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= \
--with-mysql=${MYSQL_WRKSRC} \
--libdir=${PREFIX}/lib/mysql/plugin
CFLAGS+= -I${LOCALBASE}/include/mysql
USE_LDCONFIG= ${PREFIX}/lib/mysql/plugin
SUB_FILES= pkg-message
.if !defined(NOPORTDOCS)
PORTDOCS= NEWS TODO README
.endif
post-install:
.if !defined(NOPORTDATA)
@${MKDIR} ${DATADIR}
@${INSTALL} ${WRKSRC}/default_tables.sql ${DATADIR}
.endif
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDOCS}" ${DOCSDIR}
.endif
@${CAT} ${WRKDIR}/pkg-message
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
MD5 (pinba_engine-200912240755.tar.gz) = 92aa2f0d67f84cd9fb89dc6752a8a4b5
SHA256 (pinba_engine-200912240755.tar.gz) = 5822a7859e86e24796531a002aa3e866e98a83e6fdf7726356dd5f8ab311f082
SIZE (pinba_engine-200912240755.tar.gz) = 607588

View file

@ -0,0 +1,10 @@
--- ./src/ha_pinba.cc.orig 2009-12-23 23:55:04.000000000 -0500
+++ ./src/ha_pinba.cc 2010-01-07 16:22:50.000000000 -0500
@@ -283,6 +283,7 @@
int error = 0;
DBUG_ENTER("pinba_engine_shutdown");
+ pthread_detach(collector_thread);
pthread_cancel(collector_thread);
pthread_join(collector_thread, NULL);

View file

@ -0,0 +1,10 @@
After you've installed the plugin, you need to enable it in MySQL.
To do this log in to the MySQL console (as root) and execute the
following:
mysql> INSTALL PLUGIN pinba SONAME 'libpinba_engine.so';
We'd also suggest you to create a separate database, this way:
mysql> CREATE DATABASE pinba;
And then create the default tables:
mysql -D pinba < %%DATADIR%%/default_tables.sql

View file

@ -0,0 +1,19 @@
Pinba is a statistics server for PHP using MySQL as a read-only
interface.
It accumulates and processes data sent over UDP by multiple PHP
processes and displays statistics in a nice human-readable form of
simple "reports", also providing a read-only interface to the raw
data to enable generation of more sophisticated reports.
With the Pinba extension, users can also measure particular parts
of the code using timers with arbitrary tags.
Pinba is not a debugging tool in the common sense, since you're not
supposed to do debugging on production servers, but its main goal
is to help developers to locate bottlenecks in realtime and direct
their attention to the code that really needs it.
WWW: http://pinba.org/
- raven428 raven428@gmail.com

View file

@ -0,0 +1,6 @@
lib/mysql/plugin/libpinba_engine.so
lib/mysql/plugin/libpinba_engine.so.0
lib/mysql/plugin/libpinba_engine.la
lib/mysql/plugin/libpinba_engine.a
%%PORTDATA%%%%DATADIR%%/default_tables.sql
%%PORTDATA%%@dirrm %%DATADIR%%