Class CacheBlockInformationCollector
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Inherited Members
Namespace: SuperOffice.Data.Cache
Assembly: SoDataBase.dll
Syntax
public class CacheBlockInformationCollector
Constructors
CacheBlockInformationCollector()
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public CacheBlockInformationCollector()
Fields
Event
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public string Event
Field Value
| Type | Description |
|---|---|
| string |
StackTrace
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public string StackTrace
Field Value
| Type | Description |
|---|---|
| string |
ThreadId
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public int ThreadId
Field Value
| Type | Description |
|---|---|
| int |
Timestamp
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public DateTime Timestamp
Field Value
| Type | Description |
|---|---|
| DateTime |
_cacheBlockInformation
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public static ConcurrentDictionary<long, CacheBlockInformationCollector> _cacheBlockInformation
Field Value
| Type | Description |
|---|---|
| ConcurrentDictionary<long, CacheBlockInformationCollector> |
Methods
RegisterEvent(string)
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public static long RegisterEvent(string eventName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | eventName |
Returns
| Type | Description |
|---|---|
| long |
RemoveEvent(long)
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public static void RemoveEvent(long key)
Parameters
| Type | Name | Description |
|---|---|---|
| long | key |
ToString()
We have had cases where 'everyone' is waiting in a CacheBaseV2.Load(), but noone actually seems to have the lock. This class is used to collect information on relevant events to try to find out wtf is the root cause. The information is visible and easy-to-find in dumps
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string |