Macromedia Flash Server - Flogger major bug (or am I crazy)

This is Interesting: Free IT Magazines  
Home > Archive > Macromedia Flash Server > April 2005 > Flogger major bug (or am I crazy)





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Flogger major bug (or am I crazy)
Frédéric v. Bochmann

2005-04-07, 5:57 pm

Hey list,

Been a while I haven't posted here, but here it is.

I've been working on the flogger application and as a couple of you guys
have noticed, the data doesn't seem right. I think we are right to think =
the
data isn't right. The reason for the data to be erroneous is the way the
data is being compiled together to give results.

I've looked and looked again the code that flogger 1 and 1.1 uses to
calculate the total bytes in and total bytes out, and concluded that the
person that did the code must have been in a rush or was just tired. =
(but my
concerns is that nothing has been done to correct this mistake)

To get the total number of bytes in and bytes out you simply need to get =
the
top most value and the top low value and make the difference between =
them.
This is considering that the server hasn't been restarted at the time of =
the
creation of the log file that has been used for the calculations, since =
that
would reset the total number of bytes in and out tracked on the server
making strange negative numbers sometimes if not dealt with.

The way that flogger works is not this way. The code compiles the data
retrieved from the flv file by calculating the average bandwidth between
each sample that is being read from the stream. That average bandwidth =
is
then assigned to its sample (and also rounded). Further in the code, the
total bytes in is also calculated but that value is calculated with the
calculated average bandwidth speed (bytes/sec); and on top the =
calculation
just doesn=92t seem to make sense.

If you don=92t understand what I'm trying to say (probably everybody) =
I'll try
to clarify it with some quotes of the code.=20

This piece of code shows you how the bandwidth IN and OUT is calculated =
on
every workable sample.

<code>

// Log function callback
onServerStats =3D function( info ) {
=20
....

// Calculate bandwidth values
if ( gLogData.bwStats.length > 1 ) {
var prevObj =3D gLogData.bwStats[ gLogData.bwStats.length - 1 ];
if ( prevObj.bytes_in >=3D 0 ) {
var duration =3D (info.time.getTime() - prevObj.time.getTime() ) / =
1000;
info.bwIn =3D Math.round( ( info.bytes_in - prevObj.bytes_in ) /
duration );
info.bwOut =3D Math.round( ( info.bytes_out - prevObj.bytes_out ) /
duration );
gLogData.bwStats.sampleCount +=3D 1;
}
}

...

}
</code>

As you can see very clearly that that value are rounded up with =
Math.round
here. This calculation is perfect, it give the average bandwidth between
each sample sent to the flash client.

Now here comes the interesting part.

<code>
// Create the hourly summary table
calcHourlySummary =3D function( dataArray ) {

....

while ( i < dataArray.length ) {
curObj =3D dataArray[ i ];
if ( curObj.time > endDate ) {
break;
}

// Only look at the entries with real data
if ( curObj.bytes_in >=3D 0 && curObj.bwIn >=3D 0 ) {
var curHour =3D curObj.time.getHours();
if ( curHour !=3D prevHour ) {
// trace("Adding new hour data " + curHour
);
// New hour, so save the previous hour's
info
prevHour =3D curHour;
finishHourlyInfo( hourInfo, hourArray );
hourInfo =3D new Object;
=09
// Set all the initial values from the first
object
var tempD =3D new Date(
curObj.time.getFullYear(), curObj.time.getMonth(), =
curObj.time.getDate(),
curObj.time.getHours(), 0, 0, 0 );
hourInfo.timeStr =3D makeNiceDateString( tempD
);
hourInfo.samples =3D 1;
hourInfo.peakInBandwidth =3D curObj.bwIn;
hourInfo.minInBandwidth =3D curObj.bwIn;
hourInfo.totalIn =3D curObj.bwIn;
hourInfo.peakOutBandwidth =3D curObj.bwOut;
hourInfo.minOutBandwidth =3D curObj.bwOut;
hourInfo.totalOut =3D curObj.bwOut;
hourInfo.avgInBandwidth =3D 0;
hourInfo.avgOutBandwidth =3D 0;
if ( curObj.cpu_Usage !=3D undefined ) {
hourInfo.peakCPUUsage =3D
curObj.cpu_Usage;
hourInfo.totalCPUUsage =3D
curObj.cpu_Usage;
hourInfo.peakRAMUsage =3D
curObj.memory_Usage;
hourInfo.totalRAMUsage =3D
curObj.memory_Usage;
}
}
else { // Add to the current hour
hourInfo.samples +=3D 1;
=09
if ( curObj.bwIn > hourInfo.peakInBandwidth
) {
hourInfo.peakInBandwidth =3D
curObj.bwIn;
}
if ( curObj.bwIn < hourInfo.minInBandwidth )
{
hourInfo.minInBandwidth =3D
curObj.bwIn;
}
hourInfo.totalIn +=3D curObj.bwIn;
=09
if ( curObj.bwOut >
hourInfo.peakOutBandwidth ) {
hourInfo.peakOutBandwidth =3D
curObj.bwOut;
}
if ( curObj.bwOut < hourInfo.minOutBandwidth
) {
hourInfo.minOutBandwidth =3D
curObj.bwOut;
}
hourInfo.totalOut +=3D curObj.bwOut;
=09
if ( curObj.cpu_Usage !=3D undefined ) {
if ( curObj.cpu_Usage >
hourInfo.peakCPUUsage ) {
hourInfo.peakCPUUsage =3D
curObj.cpu_Usage;
}
hourInfo.totalCPUUsage +=3D
curObj.cpu_Usage;
=09
if ( curObj.memory_Usage >
hourInfo.peakRAMUsage ) {
hourInfo.peakRAMUsage =3D
curObj.memory_Usage;
}
hourInfo.totalRAMUsage +=3D
curObj.memory_Usage;
}
}
}
=09
i++;
}
....


}

</code>

This method processes a dataArray that represents every sample (1 per =
minute
at the most) received from the server + the extra .bwIn and
..bwOut(bytes/sec) calculated in the previous function.
This method creates an array of hourly based statistics to be used for
display in another function. But, it's in this function that the total =
bytes
in and out are calculated in a very weird way.=20
What the code says it does is:

hourInfo.totalIn +=3D curObj.bwIn;

This basically means that in 1 hour we have 60 samples that are used to
calculated the totalIn of the application or server. What they seem to =
do is
add the average bandwidth(already rounded in the previous function) in
bytes/seconds calculated for every minute together. That means that if =
we
have 1 hour of traffic at 10 bytes/sec the total would give us: 600 =
bytes of
transfer. But with my calculator :P I get 600 bytes of transfer by =
minute *
60 minutes, which is quite different from our 600 bytes of transfer for =
an
hour.


Hopping somebody can tell me if I'm crazy or not.=20

Here is a link to the latest existent version of Flogger (1.1)=20
http://www.markme.com/mesh/archives/000774.cfm

I invite you all to have a look at the source code of the Flogger.fla
client.

PS: I've mentioned my concerned on Mike Chamber's page, but my post just
seems to have been deleted a couple of hours later...


Sincerely

Fredz./







=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

David Simmons

2005-04-07, 5:57 pm

I can assure you that I was in a rush when writing Flogger, and the odds are
pretty good I was tired at the time as well.

Flogger was originally meant as an example app to show the admin API for the
Flash Communication Server, with the hopes that people could take the ideas
and write a control application to do what they specifically needed on the
server.

Unfortunately, it took on a life of its own as there's a real need for admin
tools, and nobody wants to write one. It's gone from being a sample app to
being stretched into a real tool.

Please feel free to modify, extend, fix and correct Flogger to do what you
want and need. You'll make a lot of people happy if you fix it up and make
your changes available.

- Dave Simmons
Macromedia Engineering


-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org]
Sent: Friday, April 01, 2005 4:08 PM
To: 'FlashComm Mailing List'
Subject: [FlashComm] Flogger major bug (or am I crazy)

Hey list,

Been a while I haven't posted here, but here it is.

I've been working on the flogger application and as a couple of you guys
have noticed, the data doesn't seem right. I think we are right to think the
data isn't right. The reason for the data to be erroneous is the way the
data is being compiled together to give results.

I've looked and looked again the code that flogger 1 and 1.1 uses to
calculate the total bytes in and total bytes out, and concluded that the
person that did the code must have been in a rush or was just tired. (but my
concerns is that nothing has been done to correct this mistake)

To get the total number of bytes in and bytes out you simply need to get the
top most value and the top low value and make the difference between them.
This is considering that the server hasn't been restarted at the time of the
creation of the log file that has been used for the calculations, since that
would reset the total number of bytes in and out tracked on the server
making strange negative numbers sometimes if not dealt with.

The way that flogger works is not this way. The code compiles the data
retrieved from the flv file by calculating the average bandwidth between
each sample that is being read from the stream. That average bandwidth is
then assigned to its sample (and also rounded). Further in the code, the
total bytes in is also calculated but that value is calculated with the
calculated average bandwidth speed (bytes/sec); and on top the calculation
just doesn't seem to make sense.

If you don't understand what I'm trying to say (probably everybody) I'll try
to clarify it with some quotes of the code.

This piece of code shows you how the bandwidth IN and OUT is calculated on
every workable sample.

<code>

// Log function callback
onServerStats = function( info ) {

....

// Calculate bandwidth values
if ( gLogData.bwStats.length > 1 ) {
var prevObj = gLogData.bwStats[ gLogData.bwStats.length - 1 ];
if ( prevObj.bytes_in >= 0 ) {
var duration = (info.time.getTime() - prevObj.time.getTime() ) / 1000;
info.bwIn = Math.round( ( info.bytes_in - prevObj.bytes_in ) /
duration );
info.bwOut = Math.round( ( info.bytes_out - prevObj.bytes_out ) /
duration );
gLogData.bwStats.sampleCount += 1;
}
}

...

}
</code>

As you can see very clearly that that value are rounded up with Math.round
here. This calculation is perfect, it give the average bandwidth between
each sample sent to the flash client.

Now here comes the interesting part.

<code>
// Create the hourly summary table
calcHourlySummary = function( dataArray ) {

....

while ( i < dataArray.length ) {
curObj = dataArray[ i ];
if ( curObj.time > endDate ) {
break;
}

// Only look at the entries with real data
if ( curObj.bytes_in >= 0 && curObj.bwIn >= 0 ) {
var curHour = curObj.time.getHours();
if ( curHour != prevHour ) {
// trace("Adding new hour data " + curHour
);
// New hour, so save the previous hour's
info
prevHour = curHour;
finishHourlyInfo( hourInfo, hourArray );
hourInfo = new Object;

// Set all the initial values from the first
object
var tempD = new Date(
curObj.time.getFullYear(), curObj.time.getMonth(), curObj.time.getDate(),
curObj.time.getHours(), 0, 0, 0 );
hourInfo.timeStr = makeNiceDateString( tempD
);
hourInfo.samples = 1;
hourInfo.peakInBandwidth = curObj.bwIn;
hourInfo.minInBandwidth = curObj.bwIn;
hourInfo.totalIn = curObj.bwIn;
hourInfo.peakOutBandwidth = curObj.bwOut;
hourInfo.minOutBandwidth = curObj.bwOut;
hourInfo.totalOut = curObj.bwOut;
hourInfo.avgInBandwidth = 0;
hourInfo.avgOutBandwidth = 0;
if ( curObj.cpu_Usage != undefined ) {
hourInfo.peakCPUUsage =
curObj.cpu_Usage;
hourInfo.totalCPUUsage =
curObj.cpu_Usage;
hourInfo.peakRAMUsage =
curObj.memory_Usage;
hourInfo.totalRAMUsage =
curObj.memory_Usage;
}
}
else { // Add to the current hour
hourInfo.samples += 1;

if ( curObj.bwIn > hourInfo.peakInBandwidth
) {
hourInfo.peakInBandwidth =
curObj.bwIn;
}
if ( curObj.bwIn < hourInfo.minInBandwidth )
{
hourInfo.minInBandwidth =
curObj.bwIn;
}
hourInfo.totalIn += curObj.bwIn;

if ( curObj.bwOut >
hourInfo.peakOutBandwidth ) {
hourInfo.peakOutBandwidth =
curObj.bwOut;
}
if ( curObj.bwOut < hourInfo.minOutBandwidth
) {
hourInfo.minOutBandwidth =
curObj.bwOut;
}
hourInfo.totalOut += curObj.bwOut;

if ( curObj.cpu_Usage != undefined ) {
if ( curObj.cpu_Usage >
hourInfo.peakCPUUsage ) {
hourInfo.peakCPUUsage =
curObj.cpu_Usage;
}
hourInfo.totalCPUUsage +=
curObj.cpu_Usage;

if ( curObj.memory_Usage >
hourInfo.peakRAMUsage ) {
hourInfo.peakRAMUsage =
curObj.memory_Usage;
}
hourInfo.totalRAMUsage +=
curObj.memory_Usage;
}
}
}

i++;
}
....


}

</code>

This method processes a dataArray that represents every sample (1 per minute
at the most) received from the server + the extra .bwIn and
..bwOut(bytes/sec) calculated in the previous function.
This method creates an array of hourly based statistics to be used for
display in another function. But, it's in this function that the total bytes
in and out are calculated in a very weird way.
What the code says it does is:

hourInfo.totalIn += curObj.bwIn;

This basically means that in 1 hour we have 60 samples that are used to
calculated the totalIn of the application or server. What they seem to do is
add the average bandwidth(already rounded in the previous function) in
bytes/seconds calculated for every minute together. That means that if we
have 1 hour of traffic at 10 bytes/sec the total would give us: 600 bytes of
transfer. But with my calculator :P I get 600 bytes of transfer by minute *
60 minutes, which is quite different from our 600 bytes of transfer for an
hour.


Hopping somebody can tell me if I'm crazy or not.

Here is a link to the latest existent version of Flogger (1.1)
http://www.markme.com/mesh/archives/000774.cfm

I invite you all to have a look at the source code of the Flogger.fla
client.

PS: I've mentioned my concerned on Mike Chamber's page, but my post just
seems to have been deleted a couple of hours later...


Sincerely

Fredz./







=---------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=---------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Frédéric v. Bochmann

2005-04-07, 5:57 pm

Thank you very much David, for your answer. Now that sure I'm not crazy I
can go forward with my work.

Concerning the Flogger being a Sample application to start on building, I
must say it's a great building block to start on. Thanks by the way, since
I've never known who wrote it. I just hope no one uses it commercially as is
out of the sample box, without making customization and debugging, and
counter checking with firewall statistics.

I might end-up having something to give out for the community but remade and
altered. Or a simple fix for the present Flogger code.

Thanks again!

Fredz./




-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of David Simmons
Sent: April 1, 2005 7:57 PM
To: FlashComm Mailing List
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)

I can assure you that I was in a rush when writing Flogger, and the odds are
pretty good I was tired at the time as well.

Flogger was originally meant as an example app to show the admin API for the
Flash Communication Server, with the hopes that people could take the ideas
and write a control application to do what they specifically needed on the
server.

Unfortunately, it took on a life of its own as there's a real need for admin
tools, and nobody wants to write one. It's gone from being a sample app to
being stretched into a real tool.

Please feel free to modify, extend, fix and correct Flogger to do what you
want and need. You'll make a lot of people happy if you fix it up and make
your changes available.

- Dave Simmons
Macromedia Engineering


-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org]
Sent: Friday, April 01, 2005 4:08 PM
To: 'FlashComm Mailing List'
Subject: [FlashComm] Flogger major bug (or am I crazy)

Hey list,

Been a while I haven't posted here, but here it is.

I've been working on the flogger application and as a couple of you guys
have noticed, the data doesn't seem right. I think we are right to think the
data isn't right. The reason for the data to be erroneous is the way the
data is being compiled together to give results.

I've looked and looked again the code that flogger 1 and 1.1 uses to
calculate the total bytes in and total bytes out, and concluded that the
person that did the code must have been in a rush or was just tired. (but my
concerns is that nothing has been done to correct this mistake)

To get the total number of bytes in and bytes out you simply need to get the
top most value and the top low value and make the difference between them.
This is considering that the server hasn't been restarted at the time of the
creation of the log file that has been used for the calculations, since that
would reset the total number of bytes in and out tracked on the server
making strange negative numbers sometimes if not dealt with.

The way that flogger works is not this way. The code compiles the data
retrieved from the flv file by calculating the average bandwidth between
each sample that is being read from the stream. That average bandwidth is
then assigned to its sample (and also rounded). Further in the code, the
total bytes in is also calculated but that value is calculated with the
calculated average bandwidth speed (bytes/sec); and on top the calculation
just doesn't seem to make sense.

If you don't understand what I'm trying to say (probably everybody) I'll try
to clarify it with some quotes of the code.

This piece of code shows you how the bandwidth IN and OUT is calculated on
every workable sample.

<code>

// Log function callback
onServerStats = function( info ) {

....

// Calculate bandwidth values
if ( gLogData.bwStats.length > 1 ) {
var prevObj = gLogData.bwStats[ gLogData.bwStats.length - 1 ];
if ( prevObj.bytes_in >= 0 ) {
var duration = (info.time.getTime() - prevObj.time.getTime() ) / 1000;
info.bwIn = Math.round( ( info.bytes_in - prevObj.bytes_in ) /
duration );
info.bwOut = Math.round( ( info.bytes_out - prevObj.bytes_out ) /
duration );
gLogData.bwStats.sampleCount += 1;
}
}

...

}
</code>

As you can see very clearly that that value are rounded up with Math.round
here. This calculation is perfect, it give the average bandwidth between
each sample sent to the flash client.

Now here comes the interesting part.

<code>
// Create the hourly summary table
calcHourlySummary = function( dataArray ) {

....

while ( i < dataArray.length ) {
curObj = dataArray[ i ];
if ( curObj.time > endDate ) {
break;
}

// Only look at the entries with real data
if ( curObj.bytes_in >= 0 && curObj.bwIn >= 0 ) {
var curHour = curObj.time.getHours();
if ( curHour != prevHour ) {
// trace("Adding new hour data " + curHour
);
// New hour, so save the previous hour's
info
prevHour = curHour;
finishHourlyInfo( hourInfo, hourArray );
hourInfo = new Object;

// Set all the initial values from the first
object
var tempD = new Date(
curObj.time.getFullYear(), curObj.time.getMonth(), curObj.time.getDate(),
curObj.time.getHours(), 0, 0, 0 );
hourInfo.timeStr = makeNiceDateString( tempD
);
hourInfo.samples = 1;
hourInfo.peakInBandwidth = curObj.bwIn;
hourInfo.minInBandwidth = curObj.bwIn;
hourInfo.totalIn = curObj.bwIn;
hourInfo.peakOutBandwidth = curObj.bwOut;
hourInfo.minOutBandwidth = curObj.bwOut;
hourInfo.totalOut = curObj.bwOut;
hourInfo.avgInBandwidth = 0;
hourInfo.avgOutBandwidth = 0;
if ( curObj.cpu_Usage != undefined ) {
hourInfo.peakCPUUsage =
curObj.cpu_Usage;
hourInfo.totalCPUUsage =
curObj.cpu_Usage;
hourInfo.peakRAMUsage =
curObj.memory_Usage;
hourInfo.totalRAMUsage =
curObj.memory_Usage;
}
}
else { // Add to the current hour
hourInfo.samples += 1;

if ( curObj.bwIn > hourInfo.peakInBandwidth
) {
hourInfo.peakInBandwidth =
curObj.bwIn;
}
if ( curObj.bwIn < hourInfo.minInBandwidth )
{
hourInfo.minInBandwidth =
curObj.bwIn;
}
hourInfo.totalIn += curObj.bwIn;

if ( curObj.bwOut >
hourInfo.peakOutBandwidth ) {
hourInfo.peakOutBandwidth =
curObj.bwOut;
}
if ( curObj.bwOut < hourInfo.minOutBandwidth
) {
hourInfo.minOutBandwidth =
curObj.bwOut;
}
hourInfo.totalOut += curObj.bwOut;

if ( curObj.cpu_Usage != undefined ) {
if ( curObj.cpu_Usage >
hourInfo.peakCPUUsage ) {
hourInfo.peakCPUUsage =
curObj.cpu_Usage;
}
hourInfo.totalCPUUsage +=
curObj.cpu_Usage;

if ( curObj.memory_Usage >
hourInfo.peakRAMUsage ) {
hourInfo.peakRAMUsage =
curObj.memory_Usage;
}
hourInfo.totalRAMUsage +=
curObj.memory_Usage;
}
}
}

i++;
}
....


}

</code>

This method processes a dataArray that represents every sample (1 per minute
at the most) received from the server + the extra .bwIn and
..bwOut(bytes/sec) calculated in the previous function.
This method creates an array of hourly based statistics to be used for
display in another function. But, it's in this function that the total bytes
in and out are calculated in a very weird way.
What the code says it does is:

hourInfo.totalIn += curObj.bwIn;

This basically means that in 1 hour we have 60 samples that are used to
calculated the totalIn of the application or server. What they seem to do is
add the average bandwidth(already rounded in the previous function) in
bytes/seconds calculated for every minute together. That means that if we
have 1 hour of traffic at 10 bytes/sec the total would give us: 600 bytes of
transfer. But with my calculator :P I get 600 bytes of transfer by minute *
60 minutes, which is quite different from our 600 bytes of transfer for an
hour.


Hopping somebody can tell me if I'm crazy or not.

Here is a link to the latest existent version of Flogger (1.1)
http://www.markme.com/mesh/archives/000774.cfm

I invite you all to have a look at the source code of the Flogger.fla
client.

PS: I've mentioned my concerned on Mike Chamber's page, but my post just
seems to have been deleted a couple of hours later...


Sincerely

Fredz./







=---------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=---------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Frédéric v. Bochmann

2005-04-07, 5:57 pm

Here's a link to a very quick attempt to fix the problem.=20
So I've labelled it Flogger1.1.1 since I've build-it on the 1.1 version.
Only the Flash client has been changed, all other files are as-is from =
the
previous version.

If anyone finds bugs concerning the fix, please let me know.=20
(I've tagged my changes in the code so it shouldn=92t be too difficult =
to
track)

http://flogger.is.dreaming.org/

Sincerely

Fredz./


-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of =
Fr=E9d=E9ric v.
Bochmann
Sent: April 2, 2005 12:00 AM
To: 'FlashComm Mailing List'
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)

Thank you very much David, for your answer. Now that sure I'm not crazy =
I
can go forward with my work.=20

Concerning the Flogger being a Sample application to start on building, =
I
must say it's a great building block to start on. Thanks by the way, =
since
I've never known who wrote it. I just hope no one uses it commercially =
as is
out of the sample box, without making customization and debugging, and
counter checking with firewall statistics.

I might end-up having something to give out for the community but remade =
and
altered. Or a simple fix for the present Flogger code.

Thanks again!

Fredz./




-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of David =
Simmons
Sent: April 1, 2005 7:57 PM
To: FlashComm Mailing List
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)

I can assure you that I was in a rush when writing Flogger, and the odds =
are
pretty good I was tired at the time as well.

Flogger was originally meant as an example app to show the admin API for =
the
Flash Communication Server, with the hopes that people could take the =
ideas
and write a control application to do what they specifically needed on =
the
server.

Unfortunately, it took on a life of its own as there's a real need for =
admin
tools, and nobody wants to write one. It's gone from being a sample app =
to
being stretched into a real tool.

Please feel free to modify, extend, fix and correct Flogger to do what =
you
want and need. You'll make a lot of people happy if you fix it up and =
make
your changes available.

- Dave Simmons
Macromedia Engineering


-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org]=20
Sent: Friday, April 01, 2005 4:08 PM
To: 'FlashComm Mailing List'
Subject: [FlashComm] Flogger major bug (or am I crazy)

Hey list,

Been a while I haven't posted here, but here it is.

I've been working on the flogger application and as a couple of you guys
have noticed, the data doesn't seem right. I think we are right to think =
the
data isn't right. The reason for the data to be erroneous is the way the
data is being compiled together to give results.

I've looked and looked again the code that flogger 1 and 1.1 uses to
calculate the total bytes in and total bytes out, and concluded that the
person that did the code must have been in a rush or was just tired. =
(but my
concerns is that nothing has been done to correct this mistake)

To get the total number of bytes in and bytes out you simply need to get =
the
top most value and the top low value and make the difference between =
them.
This is considering that the server hasn't been restarted at the time of =
the
creation of the log file that has been used for the calculations, since =
that
would reset the total number of bytes in and out tracked on the server
making strange negative numbers sometimes if not dealt with.

The way that flogger works is not this way. The code compiles the data
retrieved from the flv file by calculating the average bandwidth between
each sample that is being read from the stream. That average bandwidth =
is
then assigned to its sample (and also rounded). Further in the code, the
total bytes in is also calculated but that value is calculated with the
calculated average bandwidth speed (bytes/sec); and on top the =
calculation
just doesn't seem to make sense.

If you don't understand what I'm trying to say (probably everybody) I'll =
try
to clarify it with some quotes of the code.=20

This piece of code shows you how the bandwidth IN and OUT is calculated =
on
every workable sample.

<code>

// Log function callback
onServerStats =3D function( info ) {
=20
....

// Calculate bandwidth values
if ( gLogData.bwStats.length > 1 ) {
var prevObj =3D gLogData.bwStats[ gLogData.bwStats.length - 1 ];
if ( prevObj.bytes_in >=3D 0 ) {
var duration =3D (info.time.getTime() - prevObj.time.getTime() ) / =
1000;
info.bwIn =3D Math.round( ( info.bytes_in - prevObj.bytes_in ) /
duration );
info.bwOut =3D Math.round( ( info.bytes_out - prevObj.bytes_out ) /
duration );
gLogData.bwStats.sampleCount +=3D 1;
}
}

...

}
</code>

As you can see very clearly that that value are rounded up with =
Math.round
here. This calculation is perfect, it give the average bandwidth between
each sample sent to the flash client.

Now here comes the interesting part.

<code>
// Create the hourly summary table
calcHourlySummary =3D function( dataArray ) {

....

while ( i < dataArray.length ) {
curObj =3D dataArray[ i ];
if ( curObj.time > endDate ) {
break;
}

// Only look at the entries with real data
if ( curObj.bytes_in >=3D 0 && curObj.bwIn >=3D 0 ) {
var curHour =3D curObj.time.getHours();
if ( curHour !=3D prevHour ) {
// trace("Adding new hour data " + curHour
);
// New hour, so save the previous hour's
info
prevHour =3D curHour;
finishHourlyInfo( hourInfo, hourArray );
hourInfo =3D new Object;
=09
// Set all the initial values from the first
object
var tempD =3D new Date(
curObj.time.getFullYear(), curObj.time.getMonth(), =
curObj.time.getDate(),
curObj.time.getHours(), 0, 0, 0 );
hourInfo.timeStr =3D makeNiceDateString( tempD
);
hourInfo.samples =3D 1;
hourInfo.peakInBandwidth =3D curObj.bwIn;
hourInfo.minInBandwidth =3D curObj.bwIn;
hourInfo.totalIn =3D curObj.bwIn;
hourInfo.peakOutBandwidth =3D curObj.bwOut;
hourInfo.minOutBandwidth =3D curObj.bwOut;
hourInfo.totalOut =3D curObj.bwOut;
hourInfo.avgInBandwidth =3D 0;
hourInfo.avgOutBandwidth =3D 0;
if ( curObj.cpu_Usage !=3D undefined ) {
hourInfo.peakCPUUsage =3D
curObj.cpu_Usage;
hourInfo.totalCPUUsage =3D
curObj.cpu_Usage;
hourInfo.peakRAMUsage =3D
curObj.memory_Usage;
hourInfo.totalRAMUsage =3D
curObj.memory_Usage;
}
}
else { // Add to the current hour
hourInfo.samples +=3D 1;
=09
if ( curObj.bwIn > hourInfo.peakInBandwidth
) {
hourInfo.peakInBandwidth =3D
curObj.bwIn;
}
if ( curObj.bwIn < hourInfo.minInBandwidth )
{
hourInfo.minInBandwidth =3D
curObj.bwIn;
}
hourInfo.totalIn +=3D curObj.bwIn;
=09
if ( curObj.bwOut >
hourInfo.peakOutBandwidth ) {
hourInfo.peakOutBandwidth =3D
curObj.bwOut;
}
if ( curObj.bwOut < hourInfo.minOutBandwidth
) {
hourInfo.minOutBandwidth =3D
curObj.bwOut;
}
hourInfo.totalOut +=3D curObj.bwOut;
=09
if ( curObj.cpu_Usage !=3D undefined ) {
if ( curObj.cpu_Usage >
hourInfo.peakCPUUsage ) {
hourInfo.peakCPUUsage =3D
curObj.cpu_Usage;
}
hourInfo.totalCPUUsage +=3D
curObj.cpu_Usage;
=09
if ( curObj.memory_Usage >
hourInfo.peakRAMUsage ) {
hourInfo.peakRAMUsage =3D
curObj.memory_Usage;
}
hourInfo.totalRAMUsage +=3D
curObj.memory_Usage;
}
}
}
=09
i++;
}
....


}

</code>

This method processes a dataArray that represents every sample (1 per =
minute
at the most) received from the server + the extra .bwIn and
..bwOut(bytes/sec) calculated in the previous function.
This method creates an array of hourly based statistics to be used for
display in another function. But, it's in this function that the total =
bytes
in and out are calculated in a very weird way.=20
What the code says it does is:

hourInfo.totalIn +=3D curObj.bwIn;

This basically means that in 1 hour we have 60 samples that are used to
calculated the totalIn of the application or server. What they seem to =
do is
add the average bandwidth(already rounded in the previous function) in
bytes/seconds calculated for every minute together. That means that if =
we
have 1 hour of traffic at 10 bytes/sec the total would give us: 600 =
bytes of
transfer. But with my calculator :P I get 600 bytes of transfer by =
minute *
60 minutes, which is quite different from our 600 bytes of transfer for =
an
hour.


Hopping somebody can tell me if I'm crazy or not.=20

Here is a link to the latest existent version of Flogger (1.1)=20
http://www.markme.com/mesh/archives/000774.cfm

I invite you all to have a look at the source code of the Flogger.fla
client.

PS: I've mentioned my concerned on Mike Chamber's page, but my post just
seems to have been deleted a couple of hours later...


Sincerely

Fredz./







=3D---------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D---------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Stefan Richter

2005-04-07, 5:57 pm

Thanks Fredz,
I remember making changes to Flogger 1.1 too - and one thing I found =
weird
was the way that Flogger 1.1 accesses its vhost list (from an XML tag).
I think it's possible to modify this, get rid of the XML tag and simply =
use
getVhosts() to populate an array with vhost names. It would make the app
easier to understand, configure and also cut down on some code. =
Moreover,
server admins would not have to make sure that the XML list matches the
actually installed vhosts.

Maybe we should start a Flogger dev project :-) Or maybe not...

I am repeating myself when I say that the provision of tools such as =
Flogger
should be Macromedia's job. It's not a trivial task to write such an app
(thanks David for making a great start) and beyond most people's =
skillset,
my own included.=20
Bandwidth and log data needs to be accurate and the tools for gathering =
it
should come bundled with the server, we shouldn't have to write these =
tools
outselves. Imaging having to write logging tools for Coldfusion Server, =
it
would be crazy.

The good news is that Edison will support W3C compliant text logs and I =
hope
that the mechanisms for getting your hands on the data are also getting =
a
long due overhaul. The reporting has always been FCS's achilles heel.

Stefan




> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org=20
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Fr=E9d=E9ric v. Bochmann
> Sent: 02 April 2005 07:10
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> Here's a link to a very quick attempt to fix the problem.=20
> So I've labelled it Flogger1.1.1 since I've build-it on the=20
> 1.1 version.
> Only the Flash client has been changed, all other files are=20
> as-is from the previous version.
>=20
> If anyone finds bugs concerning the fix, please let me know.=20
> (I've tagged my changes in the code so it shouldn=92t be too=20
> difficult to
> track)
>=20
> http://flogger.is.dreaming.org/
>=20
> Sincerely
>=20
> Fredz./
>=20
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Fr=E9d=E9ric v.
> Bochmann
> Sent: April 2, 2005 12:00 AM
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> Thank you very much David, for your answer. Now that sure I'm=20
> not crazy I can go forward with my work.=20
>=20
> Concerning the Flogger being a Sample application to start on=20
> building, I must say it's a great building block to start on.=20
> Thanks by the way, since I've never known who wrote it. I=20
> just hope no one uses it commercially as is out of the sample=20
> box, without making customization and debugging, and counter=20
> checking with firewall statistics.
>=20
> I might end-up having something to give out for the community=20
> but remade and altered. Or a simple fix for the present Flogger code.
>=20
> Thanks again!
>=20
> Fredz./
>=20
>=20
>=20
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> David Simmons
> Sent: April 1, 2005 7:57 PM
> To: FlashComm Mailing List
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> I can assure you that I was in a rush when writing Flogger,=20
> and the odds are pretty good I was tired at the time as well.
>=20
> Flogger was originally meant as an example app to show the=20
> admin API for the Flash Communication Server, with the hopes=20
> that people could take the ideas and write a control=20
> application to do what they specifically needed on the server.
>=20
> Unfortunately, it took on a life of its own as there's a real=20
> need for admin tools, and nobody wants to write one. It's=20
> gone from being a sample app to being stretched into a real tool.
>=20
> Please feel free to modify, extend, fix and correct Flogger=20
> to do what you want and need. You'll make a lot of people=20
> happy if you fix it up and make your changes available.
>=20
> - Dave Simmons
> Macromedia Engineering
>=20
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org]
> Sent: Friday, April 01, 2005 4:08 PM
> To: 'FlashComm Mailing List'
> Subject: [FlashComm] Flogger major bug (or am I crazy)
>=20
> Hey list,
>=20
> Been a while I haven't posted here, but here it is.
>=20
> I've been working on the flogger application and as a couple=20
> of you guys have noticed, the data doesn't seem right. I=20
> think we are right to think the data isn't right. The reason=20
> for the data to be erroneous is the way the data is being=20
> compiled together to give results.
>=20
> I've looked and looked again the code that flogger 1 and 1.1=20
> uses to calculate the total bytes in and total bytes out, and=20
> concluded that the person that did the code must have been in=20
> a rush or was just tired. (but my concerns is that nothing=20
> has been done to correct this mistake)
>=20
> To get the total number of bytes in and bytes out you simply=20
> need to get the top most value and the top low value and make=20
> the difference between them.
> This is considering that the server hasn't been restarted at=20
> the time of the creation of the log file that has been used=20
> for the calculations, since that would reset the total number=20
> of bytes in and out tracked on the server making strange=20
> negative numbers sometimes if not dealt with.
>=20
> The way that flogger works is not this way. The code compiles=20
> the data retrieved from the flv file by calculating the=20
> average bandwidth between each sample that is being read from=20
> the stream. That average bandwidth is then assigned to its=20
> sample (and also rounded). Further in the code, the total=20
> bytes in is also calculated but that value is calculated with=20
> the calculated average bandwidth speed (bytes/sec); and on=20
> top the calculation just doesn't seem to make sense.
>=20
> If you don't understand what I'm trying to say (probably=20
> everybody) I'll try to clarify it with some quotes of the code.=20
>=20
> This piece of code shows you how the bandwidth IN and OUT is=20
> calculated on every workable sample.
>=20
> <code>
>=20
> // Log function callback
> onServerStats =3D function( info ) {
> =20
> ...
>=20
> // Calculate bandwidth values
> if ( gLogData.bwStats.length > 1 ) {
> var prevObj =3D gLogData.bwStats[ gLogData.bwStats.length - 1 ];
> if ( prevObj.bytes_in >=3D 0 ) {
> var duration =3D (info.time.getTime() -=20
> prevObj.time.getTime() ) / 1000;
> info.bwIn =3D Math.round( ( info.bytes_in -=20
> prevObj.bytes_in ) / duration );
> info.bwOut =3D Math.round( ( info.bytes_out -=20
> prevObj.bytes_out ) / duration );
> gLogData.bwStats.sampleCount +=3D 1;
> }
> }
>=20
> ...
>=20
> }
> </code>
>=20
> As you can see very clearly that that value are rounded up=20
> with Math.round here. This calculation is perfect, it give=20
> the average bandwidth between each sample sent to the flash client.
>=20
> Now here comes the interesting part.
>=20
> <code>
> // Create the hourly summary table
> calcHourlySummary =3D function( dataArray ) {
>=20
> ...
>=20
> while ( i < dataArray.length ) {
> curObj =3D dataArray[ i ];
> if ( curObj.time > endDate ) {
> break;
> }
>=20
> // Only look at the entries with real data
> if ( curObj.bytes_in >=3D 0 && curObj.bwIn >=3D 0 ) {
> var curHour =3D curObj.time.getHours();
> if ( curHour !=3D prevHour ) {
> // trace("Adding new hour data=20
> " + curHour );
> // New hour, so save the=20
> previous hour's info
> prevHour =3D curHour;
> finishHourlyInfo( hourInfo, hourArray );
> hourInfo =3D new Object;
> =09
> // Set all the initial values=20
> from the first object
> var tempD =3D new Date(
> curObj.time.getFullYear(), curObj.time.getMonth(),=20
> curObj.time.getDate(), curObj.time.getHours(), 0, 0, 0 );
> hourInfo.timeStr =3D=20
> makeNiceDateString( tempD );
> hourInfo.samples =3D 1;
> hourInfo.peakInBandwidth =3D curObj.bwIn;
> hourInfo.minInBandwidth =3D curObj.bwIn;
> hourInfo.totalIn =3D curObj.bwIn;
> hourInfo.peakOutBandwidth =3D=20
> curObj.bwOut;
> hourInfo.minOutBandwidth =3D curObj.bwOut;
> hourInfo.totalOut =3D curObj.bwOut;
> hourInfo.avgInBandwidth =3D 0;
> hourInfo.avgOutBandwidth =3D 0;
> if ( curObj.cpu_Usage !=3D undefined ) {
> hourInfo.peakCPUUsage =3D
> curObj.cpu_Usage;
> hourInfo.totalCPUUsage =3D
> curObj.cpu_Usage;
> hourInfo.peakRAMUsage =3D
> curObj.memory_Usage;
> hourInfo.totalRAMUsage =3D
> curObj.memory_Usage;
> }
> }
> else { // Add to the current hour
> hourInfo.samples +=3D 1;
> =09
> if ( curObj.bwIn >=20
> hourInfo.peakInBandwidth
> ) {
> hourInfo.peakInBandwidth =3D
> curObj.bwIn;
> }
> if ( curObj.bwIn <=20
> hourInfo.minInBandwidth ) {
> hourInfo.minInBandwidth =3D
> curObj.bwIn;
> }
> hourInfo.totalIn +=3D curObj.bwIn;
> =09
> if ( curObj.bwOut >
> hourInfo.peakOutBandwidth ) {
> hourInfo.peakOutBandwidth =3D
> curObj.bwOut;
> }
> if ( curObj.bwOut <=20
> hourInfo.minOutBandwidth
> ) {
> hourInfo.minOutBandwidth =3D
> curObj.bwOut;
> }
> hourInfo.totalOut +=3D curObj.bwOut;
> =09
> if ( curObj.cpu_Usage !=3D undefined ) {
> if ( curObj.cpu_Usage >
> hourInfo.peakCPUUsage ) {
> hourInfo.peakCPUUsage =3D
> curObj.cpu_Usage;
> }
> hourInfo.totalCPUUsage +=3D
> curObj.cpu_Usage;
> =09
> if ( curObj.memory_Usage >
> hourInfo.peakRAMUsage ) {
> hourInfo.peakRAMUsage =3D
> curObj.memory_Usage;
> }
> hourInfo.totalRAMUsage +=3D
> curObj.memory_Usage;
> }
> }
> }
> =09
> i++;
> }
> ...
>=20
>=20
> }
>=20
> </code>
>=20
> This method processes a dataArray that represents every=20
> sample (1 per minute at the most) received from the server +=20
> the extra .bwIn and
> .bwOut(bytes/sec) calculated in the previous function.
> This method creates an array of hourly based statistics to be=20
> used for display in another function. But, it's in this=20
> function that the total bytes in and out are calculated in a=20
> very weird way.=20
> What the code says it does is:
>=20
> hourInfo.totalIn +=3D curObj.bwIn;
>=20
> This basically means that in 1 hour we have 60 samples that=20
> are used to calculated the totalIn of the application or=20
> server. What they seem to do is add the average=20
> bandwidth(already rounded in the previous function) in=20
> bytes/seconds calculated for every minute together. That=20
> means that if we have 1 hour of traffic at 10 bytes/sec the=20
> total would give us: 600 bytes of transfer. But with my=20
> calculator :P I get 600 bytes of transfer by minute * 60=20
> minutes, which is quite different from our 600 bytes of=20
> transfer for an hour.
>=20
>=20
> Hopping somebody can tell me if I'm crazy or not.=20
>=20
> Here is a link to the latest existent version of Flogger=20
> (1.1) http://www.markme.com/mesh/archives/000774.cfm
>=20
> I invite you all to have a look at the source code of the=20
> Flogger.fla client.
>=20
> PS: I've mentioned my concerned on Mike Chamber's page, but=20
> my post just seems to have been deleted a couple of hours later...
>=20
>=20
> Sincerely
>=20
> Fredz./
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> =3D---------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D---------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
> =3D---------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D---------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Stefan Richter

2005-04-07, 5:57 pm


>
> PS: I've mentioned my concerned on Mike Chamber's page, but
> my post just seems to have been deleted a couple of hours later...
>
>
> Sincerely
>
> Fredz./
>


Interesting, I remember posting some (admittedly rather negative) comments
on that page two years ago. It's silly that they have been removed as they
pointed out some pitfalls when using Flogger and may have helped other
readers...

Stefan



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Frédéric v. Bochmann

2005-04-07, 5:57 pm

Hehe,

I must say that I might have also made my post a bit negative when I posted
on mike's page.

So my mistake for being honest, but they could have replied (email was on
post) to calm my concerns.

But whatever, life is life and David told me what I wanted to hear. :D


Stefan, about a Flogger dev project, I would be quite interested in taking
part.




Sincerely
Fredz./


-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of Stefan Richter
Sent: April 2, 2005 4:58 AM
To: 'FlashComm Mailing List'
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)


>
> PS: I've mentioned my concerned on Mike Chamber's page, but
> my post just seems to have been deleted a couple of hours later...
>
>
> Sincerely
>
> Fredz./
>


Interesting, I remember posting some (admittedly rather negative) comments
on that page two years ago. It's silly that they have been removed as they
pointed out some pitfalls when using Flogger and may have helped other
readers...

Stefan



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Frédéric v. Bochmann

2005-04-07, 5:57 pm

I've updated the file I give out on the link given in this thread.
Modifications brought are:=20
- When gLogStream.play is called I've changed the value of 'true' to
'2' in the param's passed to the function. (this will make all event =
calls
be called right away)

=09
Known bugs: - There can be mistakes (in the Average speed) on the last =
value
of the reports, especially if the logs processed are logs of the current
(unfinished) day. But the total bytes in/out should still be good.


Here is the link for anyone that doesn=92t want to go back in the =
thread:
http://flogger.is.dreaming.org

Also, if anyone wants a fixed version of Flogger 1.0 please let me know
since I have it already done.



Sincerely
Fredz./

-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of =
Fr=E9d=E9ric v.
Bochmann
Sent: April 2, 2005 10:47 AM
To: 'FlashComm Mailing List'
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)

Hehe,

I must say that I might have also made my post a bit negative when I =
posted
on mike's page.

So my mistake for being honest, but they could have replied (email was =
on
post) to calm my concerns.

But whatever, life is life and David told me what I wanted to hear. :D


Stefan, about a Flogger dev project, I would be quite interested in =
taking
part.

=20


Sincerely=20
Fredz./


-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of Stefan =
Richter
Sent: April 2, 2005 4:58 AM
To: 'FlashComm Mailing List'
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)

=20
>=20
> PS: I've mentioned my concerned on Mike Chamber's page, but=20
> my post just seems to have been deleted a couple of hours later...
>=20
>=20
> Sincerely
>=20
> Fredz./
>=20


Interesting, I remember posting some (admittedly rather negative) =
comments
on that page two years ago. It's silly that they have been removed as =
they
pointed out some pitfalls when using Flogger and may have helped other
readers...

Stefan



=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Stefan Richter

2005-04-07, 5:57 pm

Fredz,=20
Could you drop me an email so I can reply to you offlist?

stefan-fMeCE+ULXElEfu+5ix1nRw@public.gmane.org

thanks

Stefan
=20

> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org=20
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Fr=E9d=E9ric v. Bochmann
> Sent: 02 April 2005 18:05
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> I've updated the file I give out on the link given in this thread.
> Modifications brought are:=20
> - When gLogStream.play is called I've changed the value=20
> of 'true' to '2' in the param's passed to the function. (this=20
> will make all event calls be called right away)
>=20
> =09
> Known bugs: - There can be mistakes (in the Average speed) on=20
> the last value of the reports, especially if the logs=20
> processed are logs of the current
> (unfinished) day. But the total bytes in/out should still be good.
>=20
>=20
> Here is the link for anyone that doesn=92t want to go back in=20
> the thread:
> http://flogger.is.dreaming.org
>=20
> Also, if anyone wants a fixed version of Flogger 1.0 please=20
> let me know since I have it already done.
>=20
>=20
>=20
> Sincerely
> Fredz./
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Fr=E9d=E9ric v.
> Bochmann
> Sent: April 2, 2005 10:47 AM
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> Hehe,
>=20
> I must say that I might have also made my post a bit negative=20
> when I posted on mike's page.
>=20
> So my mistake for being honest, but they could have replied=20
> (email was on
> post) to calm my concerns.
>=20
> But whatever, life is life and David told me what I wanted to hear. :D
>=20
>=20
> Stefan, about a Flogger dev project, I would be quite=20
> interested in taking part.
>=20
> =20
>=20
>=20
> Sincerely
> Fredz./
>=20
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Stefan Richter
> Sent: April 2, 2005 4:58 AM
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> =20
>=20
> Interesting, I remember posting some (admittedly rather=20
> negative) comments
> on that page two years ago. It's silly that they have been=20
> removed as they
> pointed out some pitfalls when using Flogger and may have helped other
> readers...
>=20
> Stefan
>=20
>=20
>=20
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
> =3D---------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D---------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Frédéric v. Bochmann

2005-04-07, 5:57 pm

Yo,

Here's my email !


Frederic

-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of Stefan =
Richter
Sent: April 3, 2005 5:19 AM
To: 'FlashComm Mailing List'
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)

Fredz,=20
Could you drop me an email so I can reply to you offlist?

stefan-fMeCE+ULXElEfu+5ix1nRw@public.gmane.org

thanks

Stefan
=20

> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org=20
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Fr=E9d=E9ric v. Bochmann
> Sent: 02 April 2005 18:05
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> I've updated the file I give out on the link given in this thread.
> Modifications brought are:=20
> - When gLogStream.play is called I've changed the value=20
> of 'true' to '2' in the param's passed to the function. (this=20
> will make all event calls be called right away)
>=20
> =09
> Known bugs: - There can be mistakes (in the Average speed) on=20
> the last value of the reports, especially if the logs=20
> processed are logs of the current
> (unfinished) day. But the total bytes in/out should still be good.
>=20
>=20
> Here is the link for anyone that doesn=92t want to go back in=20
> the thread:
> http://flogger.is.dreaming.org
>=20
> Also, if anyone wants a fixed version of Flogger 1.0 please=20
> let me know since I have it already done.
>=20
>=20
>=20
> Sincerely
> Fredz./
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Fr=E9d=E9ric v.
> Bochmann
> Sent: April 2, 2005 10:47 AM
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> Hehe,
>=20
> I must say that I might have also made my post a bit negative=20
> when I posted on mike's page.
>=20
> So my mistake for being honest, but they could have replied=20
> (email was on
> post) to calm my concerns.
>=20
> But whatever, life is life and David told me what I wanted to hear. :D
>=20
>=20
> Stefan, about a Flogger dev project, I would be quite=20
> interested in taking part.
>=20
> =20
>=20
>=20
> Sincerely
> Fredz./
>=20
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Stefan Richter
> Sent: April 2, 2005 4:58 AM
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> =20
>=20
> Interesting, I remember posting some (admittedly rather=20
> negative) comments
> on that page two years ago. It's silly that they have been=20
> removed as they
> pointed out some pitfalls when using Flogger and may have helped other
> readers...
>=20
> Stefan
>=20
>=20
>=20
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
> =3D---------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D---------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20



=3D---------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D---------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Frédéric v. Bochmann

2005-04-07, 5:57 pm

No comments...=20

-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of =
Fr=E9d=E9ric v.
Bochmann
Sent: April 3, 2005 12:33 PM
To: 'FlashComm Mailing List'
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)

Yo,

Here's my email !


Frederic

-----Original Message-----
From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
[mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of Stefan =
Richter
Sent: April 3, 2005 5:19 AM
To: 'FlashComm Mailing List'
Subject: RE: [FlashComm] Flogger major bug (or am I crazy)

Fredz,=20
Could you drop me an email so I can reply to you offlist?

stefan-fMeCE+ULXElEfu+5ix1nRw@public.gmane.org

thanks

Stefan
=20

> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org=20
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Fr=E9d=E9ric v. Bochmann
> Sent: 02 April 2005 18:05
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> I've updated the file I give out on the link given in this thread.
> Modifications brought are:=20
> - When gLogStream.play is called I've changed the value=20
> of 'true' to '2' in the param's passed to the function. (this=20
> will make all event calls be called right away)
>=20
> =09
> Known bugs: - There can be mistakes (in the Average speed) on=20
> the last value of the reports, especially if the logs=20
> processed are logs of the current
> (unfinished) day. But the total bytes in/out should still be good.
>=20
>=20
> Here is the link for anyone that doesn=92t want to go back in=20
> the thread:
> http://flogger.is.dreaming.org
>=20
> Also, if anyone wants a fixed version of Flogger 1.0 please=20
> let me know since I have it already done.
>=20
>=20
>=20
> Sincerely
> Fredz./
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Fr=E9d=E9ric v.
> Bochmann
> Sent: April 2, 2005 10:47 AM
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> Hehe,
>=20
> I must say that I might have also made my post a bit negative=20
> when I posted on mike's page.
>=20
> So my mistake for being honest, but they could have replied=20
> (email was on
> post) to calm my concerns.
>=20
> But whatever, life is life and David told me what I wanted to hear. :D
>=20
>=20
> Stefan, about a Flogger dev project, I would be quite=20
> interested in taking part.
>=20
> =20
>=20
>=20
> Sincerely
> Fredz./
>=20
>=20
> -----Original Message-----
> From: flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org
> [mailto:flashcomm-bounces-1Ss2GqJETD3yZ38Mhd3e/9ZfFG6BLHNm@public.gmane.org] On Behalf Of=20
> Stefan Richter
> Sent: April 2, 2005 4:58 AM
> To: 'FlashComm Mailing List'
> Subject: RE: [FlashComm] Flogger major bug (or am I crazy)
>=20
> =20
>=20
> Interesting, I remember posting some (admittedly rather=20
> negative) comments
> on that page two years ago. It's silly that they have been=20
> removed as they
> pointed out some pitfalls when using Flogger and may have helped other
> readers...
>=20
> Stefan
>=20
>=20
>=20
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
> =3D---------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D---------------------------------------------------------
>=20
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20



=3D---------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D---------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=3D---------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D---------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com