[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-10-01 Thread Guozhang Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14155647#comment-14155647
 ] 

Guozhang Wang commented on KAFKA-1590:
--

[~jkreps] I agree that this would not be the default config. 

By default: the request log would be written in text.

When this knob turns on: the request log would be written only as summary in 
text (i.e. today's DEBUG level logging), and the detailed log will be recorded 
as kafka-request-details.gzip/[any other compression types?].

I personally do not know what the % savings would be with the proposed binary / 
compression format compared the the text format. Would be great if we can get 
some numbers with a preliminary patch.

[~Abhishek Sharma] do you think it is possible that we write a simple 
cross-platform tool to parse the request-details binary files?

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>Assignee: Abhishek Sharma
>  Labels: newbie
> Fix For: 0.9.0
>
> Attachments: Jira-1590-Log4j Binary Appender.patch
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-29 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14151785#comment-14151785
 ] 

Jay Kreps commented on KAFKA-1590:
--

Hmm, I think this is going to be a bit confusing. People won't understand what 
the log is when they encounter it and won't be able to read it. I see the value 
in being able to cut down on I/O but my recommendation would be that we not 
enable this by default and that we include a command line utility to pretty 
print one of these binary logs.

Also what is the % savings between the current trace level logging and the 
proposed binary format?

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>Assignee: Abhishek Sharma
>  Labels: newbie
> Fix For: 0.9.0
>
> Attachments: Jira-1590-Log4j Binary Appender.patch
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-28 Thread Abhishek Sharma (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14151328#comment-14151328
 ] 

Abhishek Sharma commented on KAFKA-1590:


[~jkreps] - 
I am using Debian Linux and for Linux / Unix family, I surely suggest Midnight 
Commander tool for reading and writing binary files. 
IN case of MAC, I think any alternative tool of MC will work. HexEdit is 
another option that I googled out, haven't worked on it but I am sure it 
supports.
In Case of Windows, I think Total Commander will work.

[~guozhang] & [~nehanarkhede] - I am sure, you people have some other tool / 
utility programs names to suggest. Please suggest.

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>Assignee: Abhishek Sharma
>  Labels: newbie
> Fix For: 0.9.0
>
> Attachments: Jira-1590-Log4j Binary Appender.patch
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-28 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14151168#comment-14151168
 ] 

Jay Kreps commented on KAFKA-1590:
--

How will people read these binary files?

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>Assignee: Abhishek Sharma
>  Labels: newbie
> Fix For: 0.9.0
>
> Attachments: Jira-1590-Log4j Binary Appender.patch
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-22 Thread Guozhang Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14143360#comment-14143360
 ] 

Guozhang Wang commented on KAFKA-1590:
--

[~jkreps] agreed, binary log files should just be a option. What I proposed is 
that instead of introducing a new config for that we can just set it indirectly 
at the logging level. I.e. with trace level on the request logs, text log files 
will be used; with debug level on request logs (which will only be logging 
request summaries), the detailed log will also be written but as binary files.

[~abhi21]] Currently we use daily / hourly rolling, which I think is good 
enough. Or do you have any ideas that needs size-based rolling?

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>Assignee: Abhishek Sharma
>  Labels: newbie
> Fix For: 0.9.0
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-21 Thread Abhishek Sharma (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14142913#comment-14142913
 ] 

Abhishek Sharma commented on KAFKA-1590:


[~guozhang] and [~nehanarkhede] - 
Do we need daily rolling or rolling based on size of file functionality in the 
appender class?
Apart from rolling any other specific functionality you are looking for ??

I have used writeUTF method of DataInputStream for writing data in to binary 
format. WriteUTF method follows Modified-UTF-8 encoding which is slightly 
different from UTF-8 encoding and any editor capable of reading UTF-8 is good 
enough for reading it.
I am using Gedit editor and it seems good to me. 

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>Assignee: Abhishek Sharma
>  Labels: newbie
> Fix For: 0.9.0
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-12 Thread Jay Kreps (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14131791#comment-14131791
 ] 

Jay Kreps commented on KAFKA-1590:
--

Are we saying that we would only produce a binary log or would this just be an 
option you could enable? I think for most people they would prefer text logs. 
The case of max wait = 0 does generate a lot of logging, but people generally 
don't use that since it generates unbounded load and doesn't improve latency 
(wait doesn't add latency). Personally I would prefer binary logging was 
optional.

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>Assignee: Abhishek Sharma
>  Labels: newbie
> Fix For: 0.9.0
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-11 Thread Neha Narkhede (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14131069#comment-14131069
 ] 

Neha Narkhede commented on KAFKA-1590:
--

[~abhioncbr] We'd rather not include more dependencies just to do logging. The 
request logger currently uses log4j and you can just override the appender and 
use it to write a binary log. At the same time, we would also need a tool that 
can parse and convert the request log to humanly readable text.

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>Assignee: Abhishek Sharma
>  Labels: newbie
> Fix For: 0.9.0
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-09 Thread Guozhang Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14127936#comment-14127936
 ] 

Guozhang Wang commented on KAFKA-1590:
--

I think the first option 1) could work, [~jkreps] do you know if the new slf4j 
framework supports binary logging?

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>  Labels: newbie
> Fix For: 0.9.0
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-08 Thread Abhishek Sharma (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14126641#comment-14126641
 ] 

Abhishek Sharma commented on KAFKA-1590:


Right now we are using log4j for logging in Kafka. Binary logging format is not 
supported in log4j. 

We can have two options -
1) We can write log4j Custom Appender that extends AppenderSkeleton for 
supporting binary logging format
2) Explore some alternative for binary logging like mfz-binlog 
(https://code.google.com/p/mfz-binlog/).

[~guozhang] - Is there any other option? Any suggestion over this?

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>  Labels: newbie
> Fix For: 0.9.0
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1590) Binarize trace level request logging along with debug level text logging

2014-09-04 Thread Abhishek Sharma (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14121497#comment-14121497
 ] 

Abhishek Sharma commented on KAFKA-1590:


Please assign it to me. I want to give a try on this.

> Binarize trace level request logging along with debug level text logging
> 
>
> Key: KAFKA-1590
> URL: https://issues.apache.org/jira/browse/KAFKA-1590
> Project: Kafka
>  Issue Type: Bug
>Reporter: Guozhang Wang
>  Labels: newbie
> Fix For: 0.9.0
>
>
> With trace level logging, the request handling logs can grow very fast 
> depending on the client behavior (e.g. consumer with 0 maxWait and hence keep 
> sending fetch requests). Previously we have changed it to debug level which 
> only provides a summary of the requests, omitting request details. However 
> this does not work perfectly since summaries are not sufficient for 
> trouble-shooting, and turning on trace level upon issues will be too late.
> The proposed solution here, is to default to debug level logging with trace 
> level logging printed as binary format at the same time. The generated binary 
> files can then be further compressed / rolled out. When needed, we will then 
> decompress / parse the trace logs into texts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)