Welcome! Log In Create A New Profile

Advanced

pinba - realtime statistics server for PHP

Posted by Antony Dovgal 
Antony Dovgal
pinba - realtime statistics server for PHP
May 15, 2009 07:51AM
Hello everyone!

I'd like to announce Pinba - realtime statistics server for PHP.

Pinba is a daemon gathering information sent by PHP processes by UDP.
In the same time Pinba acts as a read-only storage engine for MySQL,
so you can use good ol' SQL to access the data.

We at Badoo.com have a lot of web-servers running PHP and want to know
where are the most problematic places in our PHP code and which services
are loaded the most. There is no need to store that information for further
analysis, therefore Pinba doesn't actually store the data - it keeps it
only for 15 minutes (you can change that, of course), which is more than
enough to update graphs (we use RRDTool for that part) and to check things
like "what's the slowest operation in script.php at server #5" or
"which memcache server is the slowest" and alike.
Complex queries can be also handled using raw data tables, which
provide direct access to each request data, but in most cases reports do the job.

More details you can find on the website: http://pinba.org

I'd love to get some feedback, so don't hesitate to join Pinba development
mailing list - http://groups.google.com/group/pinba-engine/

--
Wbr,
Antony Dovgal
Juan Fco. Giordana
Re: pinba - realtime statistics server for PHP
May 15, 2009 07:56AM
Nice,

Is there a way to see it in action?

Antony Dovgal wrote:
> Hello everyone!
>
> I'd like to announce Pinba - realtime statistics server for PHP.
>
> Pinba is a daemon gathering information sent by PHP processes by UDP.
> In the same time Pinba acts as a read-only storage engine for MySQL,
> so you can use good ol' SQL to access the data.
>
> We at Badoo.com have a lot of web-servers running PHP and want to know
> where are the most problematic places in our PHP code and which services
> are loaded the most. There is no need to store that information for further
> analysis, therefore Pinba doesn't actually store the data - it keeps it
> only for 15 minutes (you can change that, of course), which is more than
> enough to update graphs (we use RRDTool for that part) and to check things
> like "what's the slowest operation in script.php at server #5" or
> "which memcache server is the slowest" and alike.
> Complex queries can be also handled using raw data tables, which
> provide direct access to each request data, but in most cases reports do the job.
>
> More details you can find on the website: http://pinba.org
>
> I'd love to get some feedback, so don't hesitate to join Pinba development
> mailing list - http://groups.google.com/group/pinba-engine/
>
Antony Dovgal
Re: pinba - realtime statistics server for PHP
May 15, 2009 08:17AM
On 15.05.2009 15:56, Juan Fco. Giordana wrote:
> Nice,
>
> Is there a way to see it in action?

There are more or less real life examples in the documentation:
http://pinba.org/wiki/Manual:Usage_examples

But no, I don't think I can open all this data to the public.

--
Wbr,
Antony Dovgal
Re: pinba - realtime statistics server for PHP
May 15, 2009 09:22PM
I would love to use this, but the custom MySQL configuration makes it
impossible, I use MySQL from distribution repositories. :(

Is there a way to make a more generic version?

i.e. set pinba.address in php.ini to point to the collection server,
and the collection server has the daemon listening on UDP and can dump
data into mysql using a defined configuration?

That'd be great. :)

On Fri, May 15, 2009 at 4:51 AM, Antony Dovgal <tony@daylessday.org> wrote:
>
> Hello everyone!
>
> I'd like to announce Pinba - realtime statistics server for PHP.
>
> Pinba is a daemon gathering information sent by PHP processes by UDP.
> In the same time Pinba acts as a read-only storage engine for MySQL,
> so you can use good ol' SQL to access the data.
>
> We at Badoo.com have a lot of web-servers running PHP and want to know
> where are the most problematic places in our PHP code and which services
> are loaded the most. There is no need to store that information for further
> analysis, therefore Pinba doesn't actually store the data - it keeps it
> only for 15 minutes (you can change that, of course), which is more than
> enough to update graphs (we use RRDTool for that part) and to check things
> like "what's the slowest operation in script.php at server #5" or
> "which memcache server is the slowest" and alike.
> Complex queries can be also handled using raw data tables, which
> provide direct access to each request data, but in most cases reports do the job.
>
> More details you can find on the website: http://pinba.org
>
> I'd love to get some feedback, so don't hesitate to join Pinba development
> mailing list - http://groups.google.com/group/pinba-engine/
>
> --
> Wbr,
> Antony Dovgal
>
Kiril Angov
Re: pinba - realtime statistics server for PHP
May 17, 2009 04:32PM
Or just have pre-compiled binaries for the latest stable 5.1.x?

On Sat, May 16, 2009 at 4:22 AM, Michael Shadle <mike503@gmail.com> wrote:
>
> I would love to use this, but the custom MySQL configuration makes it
> impossible, I use MySQL from distribution repositories. :(
>
> Is there a way to make a more generic version?
>
> i.e. set pinba.address in php.ini to point to the collection server,
> and the collection server has the daemon listening on UDP and can dump
> data into mysql using a defined configuration?
>
> That'd be great. :)
>
> On Fri, May 15, 2009 at 4:51 AM, Antony Dovgal <tony@daylessday.org> wrote:
>>
>> Hello everyone!
>>
>> I'd like to announce Pinba - realtime statistics server for PHP.
>>
>> Pinba is a daemon gathering information sent by PHP processes by UDP.
>> In the same time Pinba acts as a read-only storage engine for MySQL,
>> so you can use good ol' SQL to access the data.
>>
>> We at Badoo.com have a lot of web-servers running PHP and want to know
>> where are the most problematic places in our PHP code and which services
>> are loaded the most. There is no need to store that information for further
>> analysis, therefore Pinba doesn't actually store the data - it keeps it
>> only for 15 minutes (you can change that, of course), which is more than
>> enough to update graphs (we use RRDTool for that part) and to check things
>> like "what's the slowest operation in script.php at server #5" or
>> "which memcache server is the slowest" and alike.
>> Complex queries can be also handled using raw data tables, which
>> provide direct access to each request data, but in most cases reports do the job.
>>
>> More details you can find on the website: http://pinba.org
>>
>> I'd love to get some feedback, so don't hesitate to join Pinba development
>> mailing list - http://groups.google.com/group/pinba-engine/
>>
>> --
>> Wbr,
>> Antony Dovgal
>>
>
Re: pinba - realtime statistics server for PHP
May 17, 2009 04:39PM
or 5.2...

problem is, i have a custom php configuration including php-fpm and suhosin.

if this was a shared module with all the stuff like ioncube etc... that'd work.

On Sun, May 17, 2009 at 1:32 PM, Kiril Angov <kupokomapa@gmail.com> wrote:
>
> Or just have pre-compiled binaries for the latest stable 5.1.x?
>
> On Sat, May 16, 2009 at 4:22 AM, Michael Shadle <mike503@gmail.com> wrote:
>>
>> I would love to use this, but the custom MySQL configuration makes it
>> impossible, I use MySQL from distribution repositories. :(
>>
>> Is there a way to make a more generic version?
>>
>> i.e. set pinba.address in php.ini to point to the collection server,
>> and the collection server has the daemon listening on UDP and can dump
>> data into mysql using a defined configuration?
>>
>> That'd be great. :)
>>
>> On Fri, May 15, 2009 at 4:51 AM, Antony Dovgal <tony@daylessday.org> wrote:
>>>
>>> Hello everyone!
>>>
>>> I'd like to announce Pinba - realtime statistics server for PHP.
>>>
>>> Pinba is a daemon gathering information sent by PHP processes by UDP.
>>> In the same time Pinba acts as a read-only storage engine for MySQL,
>>> so you can use good ol' SQL to access the data.
>>>
>>> We at Badoo.com have a lot of web-servers running PHP and want to know
>>> where are the most problematic places in our PHP code and which services
>>> are loaded the most. There is no need to store that information for further
>>> analysis, therefore Pinba doesn't actually store the data - it keeps it
>>> only for 15 minutes (you can change that, of course), which is more than
>>> enough to update graphs (we use RRDTool for that part) and to check things
>>> like "what's the slowest operation in script.php at server #5" or
>>> "which memcache server is the slowest" and alike.
>>> Complex queries can be also handled using raw data tables, which
>>> provide direct access to each request data, but in most cases reports do the job.
>>>
>>> More details you can find on the website: http://pinba.org
>>>
>>> I'd love to get some feedback, so don't hesitate to join Pinba development
>>> mailing list - http://groups.google.com/group/pinba-engine/
>>>
>>> --
>>> Wbr,
>>> Antony Dovgal
>>>
>>
>
Matt Lewandowsky
Re: pinba - realtime statistics server for PHP
May 17, 2009 09:59PM
>From "Kiril Angov" <kupokomapa@gmail.com> on Sunday, May 17, 2009 1:32 PM:

> Or just have pre-compiled binaries for the latest stable 5.1.x?

Keep in mind that not all of us use the same operating systems...
Precompiled libraries are kinda not terribly helpful for some of us.

I'm in the same boat as Mr. Shadle; I use the "system" MySQL. The machines
that I'm interested in playing with pinba on are SPARCs running Solaris 10
with the Coolstack http://cooltools.sunsource.net/coolstack/ 32-bit MySQL.
And, I currently have one machine with a version of Web Stack
http://www.sun.com/software/solaris/amp/ to gauge the
viability/improvements/etc. which may be provided by upgrading from
Coolstack. And, as I try to use MySQL as little as possible already, I
*really* am not interested in running a second "special" MySQL instance...

So, I second the desire for being able to somehow use the
OS/distribution-provided MySQL. Also, for many systems, building MySQL can
be painful; on others, you just don't have the resources (or the
justification for the resources) to run 2 MySQL instances...

Just my two cents.

--Matt
Antony Dovgal
Re: pinba - realtime statistics server for PHP
May 18, 2009 03:49AM
On 16.05.2009 05:22, Michael Shadle wrote:
> I would love to use this, but the custom MySQL configuration makes it
> impossible, I use MySQL from distribution repositories. :(
>
> Is there a way to make a more generic version?

As long as you use MySQL 5.1+ - sure thing.

> i.e. set pinba.address in php.ini to point to the collection server,
> and the collection server has the daemon listening on UDP and can dump
> data into mysql using a defined configuration?

No, that would defeat the whole point of MySQL interface - providing quick and easy interface.

--
Wbr,
Antony Dovgal
Antony Dovgal
Re: pinba - realtime statistics server for PHP
May 18, 2009 03:51AM
On 18.05.2009 00:32, Kiril Angov wrote:
> Or just have pre-compiled binaries for the latest stable 5.1.x?

I'd be happy to have that, but I'd need someone to compile them, as
I don't have access to servers with all possible architectures and versions.
There are also several versions of Google Protobufs available, which doesn't make it simpler.

--
Wbr,
Antony Dovgal
Antony Dovgal
Re: pinba - realtime statistics server for PHP
May 18, 2009 03:52AM
On 18.05.2009 00:39, Michael Shadle wrote:
> or 5.2...
>
> problem is, i have a custom php configuration including php-fpm and suhosin.
>
> if this was a shared module with all the stuff like ioncube etc... that'd work.

Well, building PHP extension is as easy as `phpize && ./configure && make install`
even if you have a custom PHP configuration with third-party patches.

--
Wbr,
Antony Dovgal
Antony Dovgal
Re: pinba - realtime statistics server for PHP
May 18, 2009 03:56AM
On 18.05.2009 05:59, Matt Lewandowsky wrote:
> I'm in the same boat as Mr. Shadle; I use the "system" MySQL. The machines
> that I'm interested in playing with pinba on are SPARCs running Solaris 10

Wow, that sounds interesting.

> with the Coolstack http://cooltools.sunsource.net/coolstack/ 32-bit MySQL.
> And, I currently have one machine with a version of Web Stack
> http://www.sun.com/software/solaris/amp/ to gauge the
> viability/improvements/etc. which may be provided by upgrading from
> Coolstack. And, as I try to use MySQL as little as possible already, I
> *really* am not interested in running a second "special" MySQL instance...
>
> So, I second the desire for being able to somehow use the
> OS/distribution-provided MySQL. Also, for many systems, building MySQL can
> be painful; on others, you just don't have the resources (or the
> justification for the resources) to run 2 MySQL instances...

You CAN use your OS/distribution-provided MySQL, as long as its version is 5.1+ and
you still have to have its sources in order to compile a MySQL plugin because MySQL package
(even the -devel one) does not have all the headers required (see also http://bugs.mysql.com/bug.php?id=44722).

But with the sources correctly configured, building the plugin and
inserting into existing MySQL instance is no problem.

--
Wbr,
Antony Dovgal
Re: pinba - realtime statistics server for PHP
May 18, 2009 04:51AM
correct. i might be spacing out but this is:

a) a php extension (easy enough to compile)
b) a mysql UDF piece (not so easy to get in)

On Mon, May 18, 2009 at 12:52 AM, Antony Dovgal <tony@daylessday.org> wrote:
>
> On 18.05.2009 00:39, Michael Shadle wrote:
>> or 5.2...
>>
>> problem is, i have a custom php configuration including php-fpm and suhosin.
>>
>> if this was a shared module with all the stuff like ioncube etc... that'd work.
>
> Well, building PHP extension is as easy as `phpize && ./configure && make install`
> even if you have a custom PHP configuration with third-party patches.
>
> --
> Wbr,
> Antony Dovgal
>
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 89
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready