Hi

>From my understanding, all streaming models are going to base on `@Stream(
kind= xx)`,
Could you show, how many kinds of `@Stream`will we plan to use?
My guess
1. Metrics
2. Inventory
3. Record
4. TopN

Please correct me if I am wrong.

Sheng Wu 吴晟

Apache SkyWalking, ShardingSphere, Zipkin
Twitter, wusheng1108


peng-yongsheng <[email protected]> 于2019年5月13日周一 下午3:07写道:

> This is the most common metrics entity definition with the stream
> annotations.
>
> @MetricsType
> @StreamData
> @StorageEntity(name = ServiceRelationClientSideMetrics.INDEX_NAME, builder
> =
> ServiceRelationClientSideMetrics.Builder.class, sourceScopeId =
> DefaultScopeDefine.SERVICE_RELATION)
>
> @MetricsType: What model is streaming processing use? Other types are
> @RecordType, @InventoryType, @TopNType.
> @StreamData: Register this entity class into the remote module that makes
> this entity could transfer between OAP server's nodes.
> @StorageEntity: Identify the storage entity name, builder class for
> serialization or deserialization this entity between memory and database.
>
> Those three annotations look like having clear responsibilities, but if you
> spend time to reflect on them, you will find that the @XXType's level is
> higher than others.
> - @MetricsType and @InventoryType are must include @StreamData and
> @StorageEntity.
> - @RecordType and @TopNType are must exclude @StreamData.
>
> So, I suggest that let the @StreamData and @StorageEntity to be the
> parameter of the @XXType.
>
> For example:
>
> @Stream(name = ServiceRelationClientSideMetrics.INDEX_NAME, scopeId =
> DefaultScopeDefine.SERVICE_RELATION, storage = @Storage(builder =
> ServiceRelationClientSideMetrics.Builder.class), kind = StreamKind.Metrics)
> public class ServiceRelationClientSideMetrics extends Metrics {
>

Reply via email to