You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@htrace.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2016/04/19 20:24:25 UTC

[jira] [Comment Edited] (HTRACE-359) TraceRunnable and TraceCallable should store parent spanId not scope

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

Colin Patrick McCabe edited comment on HTRACE-359 at 4/19/16 6:23 PM:
----------------------------------------------------------------------

bq. Does HTrace use semantic versioning?

Yes, we use semantic versioning.

bq. Would you suggest making the TraceRunnable constructor non-public as well then?

I would like to, but I don't want to remove an existing API.  The htrace-core4 API contract specifies that we will not remove or alter public APIs in htrace4-core without bumping the major version to 5.x.  We are allowed to add new APIs, though.  More info here: http://markmail.org/message/g4t4aivhvi2yyuqq

We should probably just change the internal implementation to store the spanId rather than the scope, but leave the type signatures unchanged.

bq. What is defined as the HTrace public API?

In general, the HTrace public API is any function that's public.  We don't use interface annotations... in my experience, end users tend to ignore them.  All the htrace-core4 functions are in the same namespace, so we can just use package-private functions for any non-public thing.


was (Author: cmccabe):
bq. Does HTrace use semantic versioning?

Yes, we use semantic versioning.

bq. Would you suggest making the TraceRunnable constructor non-public as well then?

I would like to, but I don't want to remove an existing API.  The htrace-core4 API contract specifies that we will not remove or alter public APIs in htrace4-core without bumping the major version to 5.x.  We are allowed to add new APIs, though.  More info here: http://markmail.org/message/g4t4aivhvi2yyuqq

We should probably just change the internal implementation to store the spanId rather than the scope, but leave the type signatures unchanged.

bq. What is defined as the HTrace public API?

In general, the HTrace public API is any function that's public.  We don't use interface annotations... in my experience, end users tend to ignore them.

> TraceRunnable and TraceCallable should store parent spanId not scope
> --------------------------------------------------------------------
>
>                 Key: HTRACE-359
>                 URL: https://issues.apache.org/jira/browse/HTRACE-359
>             Project: HTrace
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 4.0
>            Reporter: Mike Drob
>            Assignee: Mike Drob
>         Attachments: HTRACE-359.patch.txt
>
>
> TraceRunnable/Callable both take a parent TraceScope and extract the span Id from it when executing the task. Instead, we should allow users to create custom TraceRunnable/Callable instances with only a SpanId instead of a full TraceScope, for instance when reading a span id from an RPC call and a TraceScope object is not available.



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