[
https://issues.apache.org/jira/browse/TS-3881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sudheer Vinukonda updated TS-3881:
----------------------------------
Description:
I started off trying to write a TSHttpTxnCacheStateGet API to return cache
lookup specific details, but, based on feed back on the IRC and dev@, changing
the API to a more generic interface TSHttpTxnInfoGet to return any arbitrary
info. The idea is to be able to use this API in the long term to support any
arbitrary information related to a Txn (which can be used as the underlying
piece for a framework to return txn info using custom log tags).
Below's the proposal with the info I'd like the new API return along with the
API signature.
Please provide comments/suggestions.
{code}
+typedef enum {
+ TS_TXN_INFO_CACHE_HIT_RAM,
+ TS_TXN_INFO_COMPRESSED_IN_RAM,
+ TS_TXN_INFO_CACHE_HIT_RWW, // READ_WHILE_WRITE
+ TS_TXN_INFO_CACHE_OPEN_READ_TRIES,
+ TS_TXN_INFO_CACHE_OPEN_WRITE_TRIES,
+ TS_TXN_INFO_CACHE_VOLUME,
+ TS_TXN_INFO_LAST_ENTRY
+} TSHttpTxnInfoKey;
+
+/* Get Arbitrary Txn info such as cache lookup details etc as defined in
TSHttpTxnInfoKey */
+/**
+ Return the particular txn info requested.
+
+ @param txnp the transaction pointer
+ @param key the requested txn info.
+ @param TSMgmtInt a pointer to a integer where the return value is stored
+
+ @return @c TS_SUCCESS if the requested info is supported, TS_ERROR otherwise
+
+*/
+tsapi TSReturnCode TSHttpTxnInfoGet(TSHttpTxn txnp, TSHttpTxnInfoKey key,
TSMgmtInt *value);
+
{code}
+
was:
I'd like to add a new API TSHttpTxnCacheStateGet() to be able to get more
insight into cache operations (e.g read_while_write, open read tries, open
write tries, cache volume used etc) on a given Txn.
Below's the proposal with the info I'd like the new API return along with the
API signature.
Please provide comments/suggestions.
{code}
+typedef enum {
+ TS_CACHE_TXN_STATE_HIT_RAM,
+ TS_CACHE_TXN_STATE_COMPRESSED_RAM,
+ TS_CACHE_TXN_STATE_READ_WHILE_WRITER,
+ TS_CACHE_TXN_STATE_OPEN_READ_TRIES,
+ TS_CACHE_TXN_STATE_OPEN_WRITE_TRIES,
+ TS_CACHE_TXN_STATE_CACHE_VOLUME,
+ TS_CACHE_TXN_STATE_LAST_ENTRY
+} TSCacheTxnStateKey;
+
+/* Get Cache state, useful for understanding the events in cache history */
+/**
+ Return the particular cache state info requested.
+
+ @param txnp the transaction pointer
+ @param key the requested cache state info.
+ @param TSMgmtInt a pointer to a integer where we will store the metric value
+
+ @return @c TS_SUCCESS if the metric is supported, TS_ERROR otherwise
+
+*/
+tsapi TSReturnCode TSHttpTxnCacheStateGet(TSHttpTxn txnp, TSCacheTxnStateKey
key, TSMgmtInt *value);
{code}
+
> new TS API TSHttpTxnInfoGet
> ---------------------------
>
> Key: TS-3881
> URL: https://issues.apache.org/jira/browse/TS-3881
> Project: Traffic Server
> Issue Type: New Feature
> Components: TS API
> Affects Versions: 6.1.0
> Reporter: Sudheer Vinukonda
> Assignee: Sudheer Vinukonda
> Fix For: 6.1.0
>
>
> I started off trying to write a TSHttpTxnCacheStateGet API to return cache
> lookup specific details, but, based on feed back on the IRC and dev@,
> changing the API to a more generic interface TSHttpTxnInfoGet to return any
> arbitrary info. The idea is to be able to use this API in the long term to
> support any arbitrary information related to a Txn (which can be used as the
> underlying piece for a framework to return txn info using custom log tags).
> Below's the proposal with the info I'd like the new API return along with the
> API signature.
> Please provide comments/suggestions.
> {code}
> +typedef enum {
> + TS_TXN_INFO_CACHE_HIT_RAM,
> + TS_TXN_INFO_COMPRESSED_IN_RAM,
> + TS_TXN_INFO_CACHE_HIT_RWW, // READ_WHILE_WRITE
> + TS_TXN_INFO_CACHE_OPEN_READ_TRIES,
> + TS_TXN_INFO_CACHE_OPEN_WRITE_TRIES,
> + TS_TXN_INFO_CACHE_VOLUME,
> + TS_TXN_INFO_LAST_ENTRY
> +} TSHttpTxnInfoKey;
> +
> +/* Get Arbitrary Txn info such as cache lookup details etc as defined in
> TSHttpTxnInfoKey */
> +/**
> + Return the particular txn info requested.
> +
> + @param txnp the transaction pointer
> + @param key the requested txn info.
> + @param TSMgmtInt a pointer to a integer where the return value is stored
> +
> + @return @c TS_SUCCESS if the requested info is supported, TS_ERROR
> otherwise
> +
> +*/
> +tsapi TSReturnCode TSHttpTxnInfoGet(TSHttpTxn txnp, TSHttpTxnInfoKey key,
> TSMgmtInt *value);
> +
> {code}
> +
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)