@@ -120,13 +120,14 @@ type Event struct {
120
120
121
121
###   ; EventBroadcaster源码分析
122
122
123
- #### 4.1 EventRecorder记录事件(事件生产者/事件记录器 )
123
+ #### 4.1 EventRecorder记录事件(事件生产者)
124
124
125
125
* EventRecorder
126
126
127
- 在client-go中的 staging/src/k8s.io/client-go/tools/record/event.go 中定义的EventRecorder接口 :
127
+ 在 client-go 中的 staging/src/k8s.io/client-go/tools/record/event.go 中定义的 EventRecorder 接口 :
128
128
129
129
``` go
130
+ // EventRecorder 知道如何记录事件源产生的时间
130
131
// EventRecorder knows how to record events on behalf of an EventSource.
131
132
type EventRecorder interface {
132
133
// Event constructs an event from the given information and puts it in the queue for sending.
@@ -151,7 +152,7 @@ type EventRecorder interface {
151
152
152
153
```
153
154
154
- EventRecorder定义了记录Event的三种方法 ,用以帮助kubernetes组件记录Event。其中Event是可以用来记录刚发生的事件 ;Eventf通过使用fmt.Sprintf格式化输出事件的格式;AnnotatedEventf功能和Eventf一致,但是附加了注释字段。
155
+ EventRecorder 接口定义了记录 Event 的三种方法 ,用以帮助kubernetes组件记录Event。其中Event是以来记录刚发生的事件 ;Eventf通过使用fmt.Sprintf格式化输出事件的格式;AnnotatedEventf功能和Eventf一致,但是附加了注释字段。
155
156
156
157
* recordImpl
157
158
@@ -272,7 +273,7 @@ func (recorder *recorderImpl) makeEvent(ref *v1.ObjectReference, annotations map
272
273
273
274
generateEvent方法调用ActionOrDrop方法,将事件写入到incoming中:
274
275
275
- #### 4.2 EventBroadcaster事件广播(事件消费者/事件广播器 )
276
+ #### 4.2 EventBroadcaster事件广播(事件消费者)
276
277
277
278
* EventBroadcaster
278
279
@@ -283,31 +284,35 @@ generateEvent方法调用ActionOrDrop方法,将事件写入到incoming中:
283
284
``` go
284
285
// EventBroadcaster knows how to receive events and send them to any EventSink, watcher, or log.
285
286
type EventBroadcaster interface {
286
- // StartRecordingToSink starts sending events received from the specified eventBroadcaster.
287
- StartRecordingToSink (stopCh <- chan struct {})
287
+ // StartEventWatcher starts sending events received from this EventBroadcaster to the given
288
+ // event handler function. The return value can be ignored or used to stop recording, if
289
+ // desired.
290
+ StartEventWatcher (eventHandler func (*v1.Event )) watch.Interface
288
291
289
- // NewRecorder returns an EventRecorder that can be used to send events to this EventBroadcaster
290
- // with the event source set to the given event source .
291
- NewRecorder (scheme *runtime. Scheme , reportingController string ) EventRecorder
292
+ // StartRecordingToSink starts sending events received from this EventBroadcaster to the given
293
+ // sink. The return value can be ignored or used to stop recording, if desired .
294
+ StartRecordingToSink (sink EventSink ) watch. Interface
292
295
293
- // StartEventWatcher enables you to watch for emitted events without usage
294
- // of StartRecordingToSink. This lets you also process events in a custom way (e.g. in tests).
295
- // NOTE: events received on your eventHandler should be copied before being used.
296
- // TODO: figure out if this can be removed.
297
- StartEventWatcher (eventHandler func (event runtime.Object )) func ()
296
+ // StartLogging starts sending events received from this EventBroadcaster to the given logging
297
+ // function. The return value can be ignored or used to stop recording, if desired.
298
+ StartLogging (logf func (format string , args ...interface {})) watch.Interface
298
299
299
300
// StartStructuredLogging starts sending events received from this EventBroadcaster to the structured
300
301
// logging function. The return value can be ignored or used to stop recording, if desired.
301
- StartStructuredLogging (verbosity klog.Level ) func ()
302
+ StartStructuredLogging (verbosity klog.Level ) watch.Interface
303
+
304
+ // NewRecorder returns an EventRecorder that can be used to send events to this EventBroadcaster
305
+ // with the event source set to the given event source.
306
+ NewRecorder (scheme *runtime.Scheme , source v1.EventSource ) EventRecorder
302
307
303
308
// Shutdown shuts down the broadcaster
304
309
Shutdown ()
305
310
}
306
311
```
307
312
308
- EventBroadcaster作为Event消费者和事件广播器,消费EventRecorder记录的事件并将其分发给目前所有已连接的broadcasterWatcher 。
313
+ EventBroadcaster作为 Event 消费者,消费 EventRecorder 记录的事件并将其分发给目前所有已连接的broadcasterWatcher 。
309
314
310
- 结构体eventBroadcasterImpl是其实现 :
315
+ 结构体 eventBroadcasterImpl 是其实现 :
311
316
312
317
``` go
313
318
0 commit comments