[
https://issues.apache.org/jira/browse/YARN-3051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14388748#comment-14388748
]
Varun Saxena commented on YARN-3051:
------------------------------------
I will explain the APIs' added and use cases it will cover :
{code}TimelineEntities getEntities(String entityType, long limit,
long windowStart, long windowEnd, String fromId, long fromTs,
Collection<NameValuePair> filters,
Collection<NameValuePair> confFilters,
Collection<NameValueRelation> metricFilters,
Collection<String> confs, Collection<String> metrics,
EnumSet<Field> fieldsToRetrieve) throws IOException; {code}
This API returns a set of entities based on entity type. The params passed are
as follows:
# *limit* - Number of entities to be returned.
# *windowStart*, *windowEnd* - Decides the time window for entities to be
returned. Uses created time. Modified time to be used ?
# *filters* - Similar to secondary filters. Will match info field in timeline
entity.
# *confFilters* - Similar to filters above. Will match configs.
# *metricFilters* - Filter entities based on metric values. Would support all
relational operators (=,>,<=,<,<=,!=). In case of timeseries data, we can match
it with the latest record. Thoughts ? This covers queries such as get apps
where metricX >= Y.
# *confs* - Specifies configurations to be returned(comma separated list).
# *metrics* - Specifies metrics to be returned(comma separated list)
# *fieldsToRetrieve* - Specifies which fields to retrieve. As discussed above,
default view of entity will be returned if fields are not specified. This has
to be taken care by store implementation. Would mentioning it in javadoc be
enough ? Or TimelineReaderDataManager can fill the fieldsToRetrieve EnumSet to
indicate to store which specific fields have to be returned(even the default
ones).
{code}
TimelineEntity getEntity(String entityId, String entityType,
Collection<String> confs, Collection<String> metrics,
EnumSet<Field> fieldsToRetrieve) throws IOException;
{code]
Similar to above. Gets a single entity based on entityid and entitytype. Need
to discuss how cluster id, flow id, flow run id, etc. would impact this API.
{code}
TimelineEvents getEntityTimelines(String entityType,
SortedSet<String> entityIds, long limit, long windowStart,
long windowEnd, Set<String> eventTypes) throws IOException;
{code}
This API gets list of events for a list of entities for a given entity type.
The event types can also be restricted. Carried over from ATS v1.
> [Storage abstraction] Create backing storage read interface for ATS readers
> ---------------------------------------------------------------------------
>
> Key: YARN-3051
> URL: https://issues.apache.org/jira/browse/YARN-3051
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: timelineserver
> Reporter: Sangjin Lee
> Assignee: Varun Saxena
> Attachments: YARN-3051_temp.patch
>
>
> Per design in YARN-2928, create backing storage read interface that can be
> implemented by multiple backing storage implementations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)