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

Better documentation for tag search #171

Open
ncsibra opened this issue Jan 18, 2018 · 11 comments
Open

Better documentation for tag search #171

ncsibra opened this issue Jan 18, 2018 · 11 comments

Comments

@ncsibra
Copy link

ncsibra commented Jan 18, 2018

There was a similar issue in the past #11, but that was closed with a mostly unrelated fix #145.
The original question was about the tag search operator possibilities, the issue which closed that, explain the tag search format.
I wasn't able to find any related documentation in documentation webpage or in the README files.

What I know from some related issues:

  • all tag key/value pair has an AND relationship, OR is not possible yet
  • pattern matching not possible

What I like to know:

  • Is the search possibilities depends on the used storage? If so, how? Any documentation about it?
  • Is it possible to search for missing tags?
  • Is it possible to search for empty string? tag.name="" or tag.name= or tag.name does not work
  • Are there any other supported operator? Like negation with NOT or !=, maybe less/greater or similar operator?

I tried the mentioned searches with the all-in-one image 1.1.0 version.

Thanks!

@tiffon
Copy link
Member

tiffon commented Jan 19, 2018

@ncsibra Great questions, thanks for creating this ticket.

To address some of your questions:

  • Correct, all tags are AND relationship
  • Correct, pattern matching is not possible, right now

@yurishkuro or @vprithvi, can you confirm / correct / clarify the following points?

  • Is the search possibilities depends on the used storage? If so, how? Any documentation about it?

AFAIK, search is not sensitive to the store.

  • Is it possible to search for missing tags?

No, only exact matches are supported, so the tag must be present.

  • Is it possible to search for empty string? tag.name="" or tag.name= or tag.name does not work

tag.name="" worked when I tried it on our internal system and the all-in-one docker image. One caveat is only the tags for the currently selected service/operation are checked.

  • Are there any other supported operator? Like negation with NOT or !=, maybe less/greater or similar operator?

No, only exact matches are supported, right now.

I'm going to leave this open as a ticket for better docs around tag searching.

@ncsibra
Copy link
Author

ncsibra commented Jan 22, 2018

Hi @tiffon,

Thanks for your answer, you're right, the empty string search works, I assume some other service/operation were selected as you said.
So if I want any special search which is not possible through the UI, I can do through the used storage system and lookup by trace id, right?
Is there any documentation how Jaeger stores the data in the different storages?
I assume it's not a big deal to figure it out, but an offical guide always better.
Or is it an implementation detail and we should not rely on that?

@tiffon
Copy link
Member

tiffon commented Jan 22, 2018

@ncsibra No problem, glad it was helpful.

I would say storage details are an implementation detail and relying on them would likely be precarious. But, my work is solely in the UI, so, just speculating.

So if I want any special search which is not possible through the UI, I can do through the used storage system and lookup by trace id, right?

Yes, that would work. And, the search page can view traces by traceID (as a possible convenience):

http://localhost:16686/search?traceID=473dc63135fff38c&traceID=618fc99dd12e046b&traceID=66c829d3c8fca378

Regarding docs on the storage, the source is probably the best place to look, which I believe is mostly here.

@ncsibra
Copy link
Author

ncsibra commented Jan 23, 2018

Ok, thanks, then we will check the storage itself, when necessary.

@ringerc
Copy link

ringerc commented Feb 5, 2018

Also useful to note if/how wildcards work, if they exist/work. Wildcard on tag name or value.

@sidner
Copy link

sidner commented Jul 18, 2019

Hello, I am using as tag an UUID that I sometimes need to search for just the initial part of the UUID, but to my surprise regexes and wildcards are still not supported. Is this being worked on?

Thanks.

@mircea-pop
Copy link

@sidner seems this works now. Feature merged in jaegertracing/jaeger#2049

@Lupus
Copy link

Lupus commented Dec 16, 2020

Is it possible to find a trace by AND combination of tags, given that they are on different spans of this trace?

@yurishkuro
Copy link
Member

@Lupus no, all search criteria are applied to the same span

@cptkng23
Copy link

Hi @tiffon and @yurishkuro

Following up on the (old) initial request of @ncsibra : Is there any documentation about how the search with tags exactly works, apart from the small contextual help (?) icon next to the Tags input field in the search bar?

Also, I have experienced that sometimes is seems possible to get results for Span logs when entering something in the Tags field, and sometimes not?

e.g.

  • logKey1=.*valueContainedInLog1.* works
  • logKey2=.*valueContainedInLog2.* does not work, even though the string is contained in logKey2.

Any idea why?

@tejaswiniVadlamudi
Copy link

Is it correct to define empty tag values like reason:""? Is it a good instrumentation practice?

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

No branches or pull requests

9 participants