* [dpdk-dev] Question about telemetry on 18.11 release @ 2018-11-21 7:48 Hideyuki Yamashita 2018-11-21 11:38 ` Ferruh Yigit 2018-11-21 23:19 ` Rami Rosen 0 siblings, 2 replies; 9+ messages in thread From: Hideyuki Yamashita @ 2018-11-21 7:48 UTC (permalink / raw) To: dev Hello, I have some basic questions about telemetry API which is planned to be relaesed in 18.11. Note that I have read the follwoing document. https://doc.dpdk.org/guides/howto/telemetry.html Q1. In general dpdk application use polling when receiving packets. So CPU usage is always looks 100% when measured using e.g. vmstat even if there is no packet receiving. (CPU is busy for polling packets) Is that correct? Q2. Is it correct understanding that dpdk application can send "any" value(or metric) to client if client requested via "telemetry" framework? Q3.Is it possible to query "real cpu usage" from dpdk application using "telemetry" framework? ("real cpu usage" I mean if 0 pakcket incoming, cpu usage indicates almost 0 %) Q4. Is it possible to inform client about fault or some trouble from dpdk application? Background I ask above is that - I am relative new to DPDK world and have almost no knowledge about "telemetry" - I am interested in how dpdk applications can "scales" on platform like OpenStack. I think some mesurement mechanism required and I thought it might be "telemetry" APIs. Thanks in advance. BR, Hideyuki Yamashita NTT TechnoCross ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] Question about telemetry on 18.11 release 2018-11-21 7:48 [dpdk-dev] Question about telemetry on 18.11 release Hideyuki Yamashita @ 2018-11-21 11:38 ` Ferruh Yigit 2018-11-22 10:05 ` Laatz, Kevin 2018-11-21 23:19 ` Rami Rosen 1 sibling, 1 reply; 9+ messages in thread From: Ferruh Yigit @ 2018-11-21 11:38 UTC (permalink / raw) To: Hideyuki Yamashita, dev; +Cc: Harry Van Haaren, Laatz, Kevin, Bruce Richardson On 11/21/2018 7:48 AM, Hideyuki Yamashita wrote: > Hello, > > I have some basic questions about telemetry API > which is planned to be relaesed in 18.11. > > Note that I have read the follwoing document. > https://doc.dpdk.org/guides/howto/telemetry.html > > Q1. In general dpdk application use polling when > receiving packets. So CPU usage is always looks 100% > when measured using e.g. vmstat even if there is no packet receiving. > (CPU is busy for polling packets) > Is that correct? > > Q2. Is it correct understanding that dpdk application > can send "any" value(or metric) to client if client > requested via "telemetry" framework? > > Q3.Is it possible to query "real cpu usage" from dpdk > application using "telemetry" framework? > ("real cpu usage" I mean if 0 pakcket incoming, > cpu usage indicates almost 0 %) > > Q4. Is it possible to inform client about fault or some > trouble from dpdk application? > > Background I ask above is that > - I am relative new to DPDK world and have almost no knowledge about > "telemetry" > - I am interested in how dpdk applications can "scales" on platform > like OpenStack. I think some mesurement mechanism required > and I thought it might be "telemetry" APIs. Briefly I think yes, telemetry can be measurement mechanism and interface to external application. Cc'ed Harry & Kevin for more detailed answers. > > Thanks in advance. > > BR, > Hideyuki Yamashita > NTT TechnoCross > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] Question about telemetry on 18.11 release 2018-11-21 11:38 ` Ferruh Yigit @ 2018-11-22 10:05 ` Laatz, Kevin 2018-11-22 10:41 ` Hideyuki Yamashita 0 siblings, 1 reply; 9+ messages in thread From: Laatz, Kevin @ 2018-11-22 10:05 UTC (permalink / raw) To: Ferruh Yigit, Hideyuki Yamashita, dev; +Cc: Harry Van Haaren, Bruce Richardson On 21/11/2018 11:38, Ferruh Yigit wrote: > On 11/21/2018 7:48 AM, Hideyuki Yamashita wrote: >> Hello, >> >> I have some basic questions about telemetry API >> which is planned to be relaesed in 18.11. >> >> Note that I have read the follwoing document. >> https://doc.dpdk.org/guides/howto/telemetry.html >> >> Q1. In general dpdk application use polling when >> receiving packets. So CPU usage is always looks 100% >> when measured using e.g. vmstat even if there is no packet receiving. >> (CPU is busy for polling packets) >> Is that correct? This is a general DPDK question and not specific to telemetry. The above is correct, it will always show as 100% busy. >> >> Q2. Is it correct understanding that dpdk application >> can send "any" value(or metric) to client if client >> requested via "telemetry" framework? Correct, assuming the metrics are being collected in the metrics library. The telemetry library grabs everything in the metrics library and sends it to the client. If an application exposes its metrics to the metrics library, then telemetry can pick this up. >> >> Q3.Is it possible to query "real cpu usage" from dpdk >> application using "telemetry" framework? >> ("real cpu usage" I mean if 0 pakcket incoming, >> cpu usage indicates almost 0 %) In short, no. The telemetry library only exposes what is available in the metrics library. Getting the "real DPDK cpu usage" is very difficult in general. >> >> Q4. Is it possible to inform client about fault or some >> trouble from dpdk application? Telemetry can provide the metrics but doesn't have any monitoring capabilities in terms of alerting the client of, let's say, an enormous burst of dropped packets. The telemetry library is purely a mechanism to transport metrics from DPDK to an external client. It is up to the client to interpret these metrics. >> >> Background I ask above is that >> - I am relative new to DPDK world and have almost no knowledge about >> "telemetry" >> - I am interested in how dpdk applications can "scales" on platform >> like OpenStack. I think some mesurement mechanism required >> and I thought it might be "telemetry" APIs. > Briefly I think yes, telemetry can be measurement mechanism and interface to > external application. Cc'ed Harry & Kevin for more detailed answers. > >> Thanks in advance. >> >> BR, >> Hideyuki Yamashita >> NTT TechnoCross >> >> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] Question about telemetry on 18.11 release 2018-11-22 10:05 ` Laatz, Kevin @ 2018-11-22 10:41 ` Hideyuki Yamashita 0 siblings, 0 replies; 9+ messages in thread From: Hideyuki Yamashita @ 2018-11-22 10:41 UTC (permalink / raw) To: Laatz, Kevin; +Cc: Ferruh Yigit, dev, Harry Van Haaren, Bruce Richardson Hello Kevin, Thanks for your answering. Please see inline tagged with [Hideyuki]. > On 21/11/2018 11:38, Ferruh Yigit wrote: > > On 11/21/2018 7:48 AM, Hideyuki Yamashita wrote: > >> Hello, > >> > >> I have some basic questions about telemetry API > >> which is planned to be relaesed in 18.11. > >> > >> Note that I have read the follwoing document. > >> https://doc.dpdk.org/guides/howto/telemetry.html > >> > >> Q1. In general dpdk application use polling when > >> receiving packets. So CPU usage is always looks 100% > >> when measured using e.g. vmstat even if there is no packet receiving. > >> (CPU is busy for polling packets) > >> Is that correct? > This is a general DPDK question and not specific to telemetry. The above is correct, > it will always show as 100% busy. > >> > >> Q2. Is it correct understanding that dpdk application > >> can send "any" value(or metric) to client if client > >> requested via "telemetry" framework? > Correct, assuming the metrics are being collected in the metrics library. > The telemetry library grabs everything in the metrics library and sends > it to the client. If an application exposes its metrics to the metrics library, > then telemetry can pick this up. [Hideyuki] OK. Thanks. Now I think I understand. Both "metrics" and "telemetry" are framework to transmit information from its producer to consumer and that's all. Framework itself does NOT care about the content of the information. Right? > >> Q3.Is it possible to query "real cpu usage" from dpdk > >> application using "telemetry" framework? > >> ("real cpu usage" I mean if 0 pakcket incoming, > >> cpu usage indicates almost 0 %) > In short, no. The telemetry library only exposes what is available in the > metrics library. Getting the "real DPDK cpu usage" is very difficult in general. [Hideyuki] I would like to know the reason why getting "real DPDK cpu usage" is very difficult in general. I've learned there already exist mechanism like jobstats to get statistics of port and/or lcores. I thought that by combining those (jobstats,metrics,telemetry) it might be possible to get cpu usage. > >> Q4. Is it possible to inform client about fault or some > >> trouble from dpdk application? > > Telemetry can provide the metrics but doesn't have any monitoring > capabilities in terms of alerting the client of, let's say, an enormous burst > of dropped packets. The telemetry library is purely a mechanism to transport > metrics from DPDK to an external client. It is up to the client to interpret > these metrics. [Hideyuki] Thanks for your information. I understand that using metrics/telemetry, client can get information about burst, dropped packets and is able to assume "there is a fault" if the client is smart enough. BTW are there any mechanism in dpdk library to detect fault of dpdk application except metrics/telemetry? Thanks! BR, Hideyuki Yamashita NTT TechnoCross > >> Background I ask above is that > >> - I am relative new to DPDK world and have almost no knowledge about > >> "telemetry" > >> - I am interested in how dpdk applications can "scales" on platform > >> like OpenStack. I think some mesurement mechanism required > >> and I thought it might be "telemetry" APIs. > > Briefly I think yes, telemetry can be measurement mechanism and interface to > > external application. Cc'ed Harry & Kevin for more detailed answers. > > > >> Thanks in advance. > >> > >> BR, > >> Hideyuki Yamashita > >> NTT TechnoCross > >> > >> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] Question about telemetry on 18.11 release 2018-11-21 7:48 [dpdk-dev] Question about telemetry on 18.11 release Hideyuki Yamashita 2018-11-21 11:38 ` Ferruh Yigit @ 2018-11-21 23:19 ` Rami Rosen 2018-11-22 8:04 ` Hideyuki Yamashita 1 sibling, 1 reply; 9+ messages in thread From: Rami Rosen @ 2018-11-21 23:19 UTC (permalink / raw) To: Hideyuki Yamashita; +Cc: dev Hi Hideyuki, Regarding your questions about DPDK CPU usage, etc: I believe that due to the way PMDs are implemented, maybe one should consider using DPDK RTE jobstats API for collecting stats for a DPDK app. This API reflects better the actual DPDK app stats. See an example in: https://doc.dpdk.org/guides/sample_app_ug/l2_forward_job_stats.html And also see: https://doc.dpdk.org/api/rte__jobstats_8h_source.html Regards, Rami Rosen בתאריך יום ד׳, 21 בנוב׳ 2018, 09:50, מאת Hideyuki Yamashita < yamashita.hideyuki@po.ntt-tx.co.jp>: > Hello, > > I have some basic questions about telemetry API > which is planned to be relaesed in 18.11. > > Note that I have read the follwoing document. > https://doc.dpdk.org/guides/howto/telemetry.html > > Q1. In general dpdk application use polling when > receiving packets. So CPU usage is always looks 100% > when measured using e.g. vmstat even if there is no packet receiving. > (CPU is busy for polling packets) > Is that correct? > > Q2. Is it correct understanding that dpdk application > can send "any" value(or metric) to client if client > requested via "telemetry" framework? > > Q3.Is it possible to query "real cpu usage" from dpdk > application using "telemetry" framework? > ("real cpu usage" I mean if 0 pakcket incoming, > cpu usage indicates almost 0 %) > > Q4. Is it possible to inform client about fault or some > trouble from dpdk application? > > Background I ask above is that > - I am relative new to DPDK world and have almost no knowledge about > "telemetry" > - I am interested in how dpdk applications can "scales" on platform > like OpenStack. I think some mesurement mechanism required > and I thought it might be "telemetry" APIs. > > Thanks in advance. > > BR, > Hideyuki Yamashita > NTT TechnoCross > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] Question about telemetry on 18.11 release 2018-11-21 23:19 ` Rami Rosen @ 2018-11-22 8:04 ` Hideyuki Yamashita 2018-11-22 15:10 ` Rami Rosen 0 siblings, 1 reply; 9+ messages in thread From: Hideyuki Yamashita @ 2018-11-22 8:04 UTC (permalink / raw) To: Rami Rosen; +Cc: dev Hi Ferruh, Rami Thanks for your answering me at this busy time during release of 18.11. I will wait response from your colleague. >Ferruh Rami, thanks for your advice. If I understand you correctly, then there already exist APIs to collect statistic information inside dpdk including CPU usage. I've read the l2fwd-jobstats code in addition to documents you pointed out and found that there exists code sample showing statistics per lcore. (You are right) So my next questions are Q5.Are there any API document for jobstats? I've already read header file definition. I've already read sample coce. But API documenation will be a great help to understand semantics(or usage) of each APIs within jobstats. Q6. Is it possible to use those (jobstats and telemetry) together? If I understand l2fwd-jobstats sample code correctly, statistic information is periodicaly stored into memory (variables), so at that timing application can pass statistics information to teremetry API (server side). But that is only my guess. Q7.Are there any samples implementing above? (My guess is 'no'. jobstats sample only use 'jobstats' and 'telemetry' sample only use 'telemetry' though.) Have a nice day and thanks again. BR, Hideyuki Yamashita NTT TechnoCross > Hi Hideyuki, > > Regarding your questions about DPDK CPU usage, etc: > I believe that due to the way PMDs are implemented, maybe one > should consider using DPDK RTE jobstats API for collecting stats for a DPDK > app. This API reflects better the actual DPDK app stats. > See an example in: > https://doc.dpdk.org/guides/sample_app_ug/l2_forward_job_stats.html > And also see: > https://doc.dpdk.org/api/rte__jobstats_8h_source.html > > Regards, > Rami Rosen > > ?????? ??? ??, 21 ????? 2018, 09:50, ??? Hideyuki Yamashita < > yamashita.hideyuki@po.ntt-tx.co.jp>: > > > Hello, > > > > I have some basic questions about telemetry API > > which is planned to be relaesed in 18.11. > > > > Note that I have read the follwoing document. > > https://doc.dpdk.org/guides/howto/telemetry.html > > > > Q1. In general dpdk application use polling when > > receiving packets. So CPU usage is always looks 100% > > when measured using e.g. vmstat even if there is no packet receiving. > > (CPU is busy for polling packets) > > Is that correct? > > > > Q2. Is it correct understanding that dpdk application > > can send "any" value(or metric) to client if client > > requested via "telemetry" framework? > > > > Q3.Is it possible to query "real cpu usage" from dpdk > > application using "telemetry" framework? > > ("real cpu usage" I mean if 0 pakcket incoming, > > cpu usage indicates almost 0 %) > > > > Q4. Is it possible to inform client about fault or some > > trouble from dpdk application? > > > > Background I ask above is that > > - I am relative new to DPDK world and have almost no knowledge about > > "telemetry" > > - I am interested in how dpdk applications can "scales" on platform > > like OpenStack. I think some mesurement mechanism required > > and I thought it might be "telemetry" APIs. > > > > Thanks in advance. > > > > BR, > > Hideyuki Yamashita > > NTT TechnoCross > > > > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] Question about telemetry on 18.11 release 2018-11-22 8:04 ` Hideyuki Yamashita @ 2018-11-22 15:10 ` Rami Rosen 2018-11-28 11:54 ` Hideyuki Yamashita 0 siblings, 1 reply; 9+ messages in thread From: Rami Rosen @ 2018-11-22 15:10 UTC (permalink / raw) To: Hideyuki Yamashita; +Cc: dev Hi, Hideyuki, >Rami, thanks for your advice. >If I understand you correctly, then >there already exist APIs to collect statistic >information inside dpdk including CPU usage. Yup. I want to also note that the librte jobstats is very veteran, it exists in DPDK versions prior to 16.04 (like in 2.2.0; see: https://github.com/DPDK/dpdk/tree/v2.2.0/lib/librte_jobstats ) The telemetry library is relatively new. Following are my answers to your new queries (Q5-Q7): >Q5.Are there any API document for jobstats? AFAIK, there is no API document apart from what I already sent (namely the sample guide and the API link, https://doc.dpdk.org/api/rte__jobstats_8h_source.html) >Q6. Is it possible to use those (jobstats and telemetry) together? It could be, never tried it though. >Q7.Are there any samples implementing above? Assuming you mean implementing both APIs together: No, AFAIK. It will be great if someone will write documentation and implement such a thing, if it is doable. Regards, Rami Rosen ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] Question about telemetry on 18.11 release 2018-11-22 15:10 ` Rami Rosen @ 2018-11-28 11:54 ` Hideyuki Yamashita 2018-11-28 18:47 ` Rami Rosen 0 siblings, 1 reply; 9+ messages in thread From: Hideyuki Yamashita @ 2018-11-28 11:54 UTC (permalink / raw) To: Rami Rosen; +Cc: dev Hello Rami, Thanks for your response. Please see inline. > Hi, Hideyuki, > > >Rami, thanks for your advice. > >If I understand you correctly, then > >there already exist APIs to collect statistic > >information inside dpdk including CPU usage. > > Yup. I want to also note that the librte jobstats is very veteran, it > exists in DPDK versions prior to 16.04 (like in 2.2.0; see: > https://github.com/DPDK/dpdk/tree/v2.2.0/lib/librte_jobstats ) > The telemetry library is relatively new. > > Following are my answers to your new queries (Q5-Q7): > > >Q5.Are there any API document for jobstats? > AFAIK, there is no API document apart from what I already sent (namely > the sample guide and > the API link, https://doc.dpdk.org/api/rte__jobstats_8h_source.html) [Hideyuki] Are there any reason why accompanied document does NOT exit? (if you know the reason why) > >Q6. Is it possible to use those (jobstats and telemetry) together? > It could be, never tried it though. > > >Q7.Are there any samples implementing above? > > Assuming you mean implementing both APIs together: No, AFAIK. It will > be great if someone will write documentation and implement such a > thing, if it is doable. [Hideyuki] Is it possible to contribute such a sample application by my side? (Just idea, I need permission from my boss though..) In that case, is it correct that what I should do is create/verify my contribution and post patches to dev list? Or are there any steps(procedures) to add such new sample? Q8. BTW, when I read jobstats sample, I felt that application programmers should be fully aware of the jobstats from the first place of software design (many timers in main function) and it is NOT "opt-in" "opt-out" feature. When considering many NFV applications are already there, I think it is more preferable that such statistics features can be "opt-in" or "opt-out". Is it possible to realize above using current DPDK framework? Thanks again. BR, Hideyuki Yamashita NTT TechnoCross > Regards, > Rami Rosen ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] Question about telemetry on 18.11 release 2018-11-28 11:54 ` Hideyuki Yamashita @ 2018-11-28 18:47 ` Rami Rosen 0 siblings, 0 replies; 9+ messages in thread From: Rami Rosen @ 2018-11-28 18:47 UTC (permalink / raw) To: Hideyuki Yamashita; +Cc: dev HI, Hideyuki, >Are there any reason why accompanied document does NOT exit? >> (if you know the reason why) exit->exist; I don't know. > Is it possible to contribute such a sample application by my side? > (Just idea, I need permission from my boss though..) > You may try, DPDK is an Open Source project. > Q8. > BTW, when I read jobstats sample, I felt that > application programmers should be fully aware of the jobstats > from the first place of software design (many timers in main function) > and it is NOT "opt-in" "opt-out" feature. I believe many people think the same. Regards, Rami Rosen ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-11-28 18:47 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-11-21 7:48 [dpdk-dev] Question about telemetry on 18.11 release Hideyuki Yamashita 2018-11-21 11:38 ` Ferruh Yigit 2018-11-22 10:05 ` Laatz, Kevin 2018-11-22 10:41 ` Hideyuki Yamashita 2018-11-21 23:19 ` Rami Rosen 2018-11-22 8:04 ` Hideyuki Yamashita 2018-11-22 15:10 ` Rami Rosen 2018-11-28 11:54 ` Hideyuki Yamashita 2018-11-28 18:47 ` Rami Rosen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).