Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

statesysten: add processSpanStateChange function to statesystem #45

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

farajidaneshgar
Copy link

  • A new function (processSpanStateChange) is added to the TransientState class. Because in async traces unlike sync traces, the position of the event in fOngoingInfo is not the same as the quark of the event in the call stack. So we should pass two integer, quark and callstack quark to the function.

  • The Statesystem and ItmfStateSystem classes are changed relayed to this function.
    this changes is for adding flamgraph analysis for opentracing

*A new function (processSpanStateChange) is
 added to the TransientState class. Because in
 async traces unlike sync traces, the position of
 the event in fOngoingInfo is not the same as
 the quark of the event in the call stack.
 So we should pass two integer, quark and
 callstack quark to the function.

* the Statesystem and ItmfStateSystem classes
 are changed relayed to this function.

Signed-off-by: Fariba Daneshgar <faraji.daneshgar@gmail.com>
Copy link
Contributor

@MatthewKhouzam MatthewKhouzam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transient State is an implementation of the API. Are we certain we want to add an API for this feature? It seems... like everything else will need to implement "unsupported" though it's designed for one implementation.

@@ -681,4 +681,19 @@ static void logMissingInterval(int attribute, long timestamp) {
attribute + " at time " + timestamp + //$NON-NLS-1$
", returning dummy interval"); //$NON-NLS-1$
}

/**
* @param t
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More doc please

* @throws StateValueTypeException
*/
@Override
public void modifySpanAttribute(long t, Object value, int attributeQuark, int spanQuark)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Span is not a state system notion, it's a contextual interval. Should we bring it down to this level of abstraction?

@@ -540,4 +541,15 @@ int getQuarkRelative(int startingNodeQuark, String... subPath)
*/
Iterable<@NonNull ITmfStateInterval> query2D(@NonNull Collection<Integer> quarks,
long start, long end) throws StateSystemDisposedException, IndexOutOfBoundsException, TimeRangeException;

/**
* @param t
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants