Support Questions
Find answers, ask questions, and share your expertise

why is stellar returning empty profile values?

Explorer

I created a squid telemetry following https://cwiki.apache.org/confluence/display/METRON/Profiling+Your+Streams

I created 2 profiles

{
"profiles": [
{
"profile": "squid-miss",
"foreach": "ip_src_addr",
"onlyif": "source.type == 'squid' and action == 'TCP_MISS'",
"update": { "m": "STATS_ADD(m, 1)" },
"result": "m"
},
{
"profile": "url-length",
"foreach": "ip_src_addr",
"onlyif": "source.type == 'squid'",
"update": { "m": "STATS_ADD(m, LENGTH(url))" },
"result": "m"
}
]
}

I can see the profile values when I scan hbase. However when I run

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff} span.s1 {font-variant-ligatures: no-common-ligatures}

PROFILE_GET("url-length", "127.0.0.1", PROFILE_FIXED(5,"HOURS"))

I get an empty result. This is tru for both the profiles and all time windows. There is no other error. How can I get profile values using stellar?

1 ACCEPTED SOLUTION

Accepted Solutions

Rising Star

Did you change the profile duration of the Profiler? By default, it is 15 minutes, but in the link that you sent it tells you to change the duration to 1 minute. I would guess that your Profiler configuration probably looks like this.

profiler.period.duration=1 
profiler.period.duration.units=MINUTES

If so, you also need to change the profiler duration on the client side to match. You can do this in a couple different ways. For example, change the client-side equivalent settings in global settings first, then fetch the data.

%define profiler.client.period.duration := "1"
%define profiler.client.period.duration.units := "MINUTES"
PROFILE_GET("url-length", "127.0.0.1", PROFILE_FIXED(5,"HOURS"))

Or simply override those values when fetching the data.

PROFILE_GET("url-length", "127.0.0.1", PROFILE_FIXED(5,"HOURS", {'profiler.client.period.duration' : '1', 'profiler.client.period.duration.units' : 'MINUTES'})

View solution in original post

3 REPLIES 3

Rising Star

Did you change the profile duration of the Profiler? By default, it is 15 minutes, but in the link that you sent it tells you to change the duration to 1 minute. I would guess that your Profiler configuration probably looks like this.

profiler.period.duration=1 
profiler.period.duration.units=MINUTES

If so, you also need to change the profiler duration on the client side to match. You can do this in a couple different ways. For example, change the client-side equivalent settings in global settings first, then fetch the data.

%define profiler.client.period.duration := "1"
%define profiler.client.period.duration.units := "MINUTES"
PROFILE_GET("url-length", "127.0.0.1", PROFILE_FIXED(5,"HOURS"))

Or simply override those values when fetching the data.

PROFILE_GET("url-length", "127.0.0.1", PROFILE_FIXED(5,"HOURS", {'profiler.client.period.duration' : '1', 'profiler.client.period.duration.units' : 'MINUTES'})

View solution in original post

Explorer

this works. Thanks a lot. I have spent hours trying to figure out why the profile is in hbase but not showing up in stellar.

Rising Star

Sorry about the pain. Feel free to share comments and suggestions as you use the tool.