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

Samarth Jain commented on PHOENIX-1691:
---------------------------------------

Thanks for the updated patch [~rajeshbabu]. 

Now that you are not closing trace scopes, I think we can further simplify the 
below code like this: 


{code}
+                if (traceStatement.isTraceOn()) {
+                    double samplingRate = traceStatement.getSamplingRate();
+                    if (conn.getSampler().equals(Sampler.NEVER)) {
+                        if (samplingRate >= 1.0) {
+                            conn.setSampler(Sampler.ALWAYS);
+                        } else if (samplingRate < 1.0 && samplingRate > 0.0) {
+                            conn.setSampler(new 
ProbabilitySampler(samplingRate));
+                        }
+                    } else {
+                        if (samplingRate >= 1.0 && 
!conn.getSampler().equals(Sampler.ALWAYS)) {
+                            conn.setSampler(Sampler.ALWAYS);
+                        }
+                        if (samplingRate < 1.0 && samplingRate > 0.0
+                                && !(conn.getSampler() instanceof 
ProbabilitySampler)) {
+                            conn.setSampler(new 
ProbabilitySampler(samplingRate));
+                        }
+                        if (samplingRate <= 0.0) {
+                            closeTraceScope(conn);
+                            conn.setSampler(Sampler.NEVER);
+                        }
                     }
{code}

to 

{code}
+                if (traceStatement.isTraceOn()) {
+                    double samplingRate = traceStatement.getSamplingRate();
+                        if (samplingRate >= 1.0) {
+                            conn.setSampler(Sampler.ALWAYS);
+                        } else if (samplingRate < 1.0 && samplingRate > 0.0) {
+                            conn.setSampler(new 
ProbabilitySampler(samplingRate));
+                        } else if (samplingRate <= 0.0) {
+                            closeTraceScope(conn);
+                            conn.setSampler(Sampler.NEVER);
+                        }
                 }
{code}

What do you think?

+1 after that unless [~jamestaylor] has some suggestions. 

> Allow settting sampling rate while enabling tracing.
> ----------------------------------------------------
>
>                 Key: PHOENIX-1691
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1691
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Rajeshbabu Chintaguntla
>            Assignee: Rajeshbabu Chintaguntla
>             Fix For: 5.0.0, 4.4
>
>         Attachments: PHOENIX-1691.patch, PHOENIX-1691_v2.patch, 
> PHOENIX-1691_v3.patch
>
>
> Now we can dynamically enable/disable tracing from query. We should also be 
> able to set sampling rate while enabling tracing.



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

Reply via email to