summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Smith <dbsmith@google.com>2015-07-16 14:54:28 -0700
committerDaniel Smith <dbsmith@google.com>2015-07-16 16:28:18 -0700
commitc198491ead87e5a970a17f75c25a7f3843006f2a (patch)
tree11a8008214443d35c2aeb64463d701da3e41a249
parent66d9195b2d0ea031d8ea56630862b8e9ce111c30 (diff)
(mostly) auto fixed links
-rw-r--r--event_compression.md6
1 files changed, 3 insertions, 3 deletions
diff --git a/event_compression.md b/event_compression.md
index 32e52607..294d3f41 100644
--- a/event_compression.md
+++ b/event_compression.md
@@ -35,7 +35,7 @@ Each binary that generates events (for example, ```kubelet```) should keep track
Event compression should be best effort (not guaranteed). Meaning, in the worst case, ```n``` identical (minus timestamp) events may still result in ```n``` event entries.
## Design
-Instead of a single Timestamp, each event object [contains](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/types.go#L1111) the following fields:
+Instead of a single Timestamp, each event object [contains](../../pkg/api/types.go#L1111) the following fields:
* ```FirstTimestamp util.Time```
* The date/time of the first occurrence of the event.
* ```LastTimestamp util.Time```
@@ -47,7 +47,7 @@ Instead of a single Timestamp, each event object [contains](https://github.com/G
Each binary that generates events:
* Maintains a historical record of previously generated events:
- * Implemented with ["Least Recently Used Cache"](https://github.com/golang/groupcache/blob/master/lru/lru.go) in [```pkg/client/record/events_cache.go```](https://github.com/GoogleCloudPlatform/kubernetes/tree/master/pkg/client/record/events_cache.go).
+ * Implemented with ["Least Recently Used Cache"](https://github.com/golang/groupcache/blob/master/lru/lru.go) in [```pkg/client/record/events_cache.go```](../../pkg/client/record/events_cache.go).
* The key in the cache is generated from the event object minus timestamps/count/transient fields, specifically the following events fields are used to construct a unique key for an event:
* ```event.Source.Component```
* ```event.Source.Host```
@@ -59,7 +59,7 @@ Each binary that generates events:
* ```event.Reason```
* ```event.Message```
* The LRU cache is capped at 4096 events. That means if a component (e.g. kubelet) runs for a long period of time and generates tons of unique events, the previously generated events cache will not grow unchecked in memory. Instead, after 4096 unique events are generated, the oldest events are evicted from the cache.
- * When an event is generated, the previously generated events cache is checked (see [```pkg/client/record/event.go```](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/client/record/event.go)).
+ * When an event is generated, the previously generated events cache is checked (see [```pkg/client/record/event.go```](../../pkg/client/record/event.go)).
* If the key for the new event matches the key for a previously generated event (meaning all of the above fields match between the new event and some previously generated event), then the event is considered to be a duplicate and the existing event entry is updated in etcd:
* The new PUT (update) event API is called to update the existing event entry in etcd with the new last seen timestamp and count.
* The event is also updated in the previously generated events cache with an incremented count, updated last seen timestamp, name, and new resource version (all required to issue a future event update).