Skip to content

Commit a45b295

Browse files
committed
only emit logs in retry writer
1 parent dd8f517 commit a45b295

File tree

8 files changed

+28
-14
lines changed

8 files changed

+28
-14
lines changed

src/pkg/egress/syslog/retry_writer.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package syslog
22

33
import (
4-
"fmt"
54
"log"
65
"math"
76
"time"
@@ -22,22 +21,19 @@ type RetryWriter struct {
2221
retryDuration RetryDuration
2322
maxRetries int
2423
binding *URLBinding
25-
emitter AppLogEmitter
2624
}
2725

2826
func NewRetryWriter(
2927
urlBinding *URLBinding,
3028
retryDuration RetryDuration,
3129
maxRetries int,
3230
writer egress.WriteCloser,
33-
emitter AppLogEmitter,
3431
) (egress.WriteCloser, error) {
3532
return &RetryWriter{
3633
Writer: writer,
3734
retryDuration: retryDuration,
3835
maxRetries: maxRetries,
3936
binding: urlBinding,
40-
emitter: emitter,
4137
}, nil
4238
}
4339

@@ -59,7 +55,6 @@ func (r *RetryWriter) Write(e *loggregator_v2.Envelope) error {
5955

6056
sleepDuration := r.retryDuration(i)
6157
log.Printf(logTemplate, r.binding.URL.Host, sleepDuration, err)
62-
r.emitter.EmitLog(e.SourceId, fmt.Sprintf(logTemplate, r.binding.URL.Host, sleepDuration, err))
6358

6459
time.Sleep(sleepDuration)
6560
}

src/pkg/egress/syslog/retry_writer_test.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package syslog_test
22

33
import (
4-
"code.cloudfoundry.org/loggregator-agent-release/src/internal/testhelper"
54
"errors"
65
"net/url"
76
"sync/atomic"
@@ -176,13 +175,10 @@ func buildRetryWriter(
176175
maxRetries int,
177176
delayMultiplier time.Duration,
178177
) (egress.WriteCloser, error) {
179-
factory := syslog.NewAppLogEmitterFactory()
180-
emitter := factory.NewAppLogEmitter(testhelper.NewSpyLogClient(), "test-index")
181178
return syslog.NewRetryWriter(
182179
urlBinding,
183180
syslog.RetryDuration(buildDelay(delayMultiplier)),
184181
maxRetries,
185182
w,
186-
emitter,
187183
)
188184
}

src/pkg/egress/syslog/syslog_connector.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ func (w *SyslogConnector) Connect(ctx context.Context, b Binding) (egress.Writer
122122
w.droppedMetric.Add(float64(missed))
123123
drainDroppedMetric.Add(float64(missed))
124124

125-
w.appLogEmitter.EmitLog(b.AppId, fmt.Sprintf("%d messages lost for application %s in user provided syslog drain with url %s", missed, b.AppId, anonymousUrl.String()))
126125
w.emitStandardOutErrorLog(b.AppId, urlBinding.Scheme(), anonymousUrl.String(), missed)
126+
w.appLogEmitter.EmitLog(b.AppId, fmt.Sprintf("%d messages lost for application %s in user provided syslog drain with url %s", missed, b.AppId, anonymousUrl.String()))
127127
}), w.wg)
128128

129129
filteredWriter, err := NewFilteringDrainWriter(b, dw)

src/pkg/egress/syslog/tcp.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ type TCPWriter struct {
3232
syslogConverter *Converter
3333

3434
egressMetric metrics.Counter
35+
36+
emitter AppLogEmitter
3537
}
3638

3739
// NewTCPWriter creates a new TCP syslog writer.
@@ -40,6 +42,7 @@ func NewTCPWriter(
4042
netConf NetworkTimeoutConfig,
4143
egressMetric metrics.Counter,
4244
c *Converter,
45+
emitter AppLogEmitter,
4346
) egress.WriteCloser {
4447
dialer := &net.Dialer{
4548
Timeout: netConf.DialTimeout,
@@ -58,6 +61,7 @@ func NewTCPWriter(
5861
scheme: "syslog",
5962
egressMetric: egressMetric,
6063
syslogConverter: c,
64+
emitter: emitter,
6165
}
6266

6367
return w
@@ -104,7 +108,8 @@ func (w *TCPWriter) connection() (net.Conn, error) {
104108
func (w *TCPWriter) connect() (net.Conn, error) {
105109
conn, err := w.dialFunc(w.url.Host)
106110
if err != nil {
107-
// todo send logs to app logstream
111+
logMessage := fmt.Sprintf("Failed to connect to %s", w.url.String())
112+
w.emitter.EmitLog(w.appID, logMessage)
108113
return nil, err
109114
}
110115
w.conn = conn

src/pkg/egress/syslog/tcp_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package syslog_test
22

33
import (
44
"bufio"
5+
"code.cloudfoundry.org/loggregator-agent-release/src/internal/testhelper"
56
"fmt"
67
"io"
78
"net"
@@ -51,12 +52,16 @@ var _ = Describe("TCPWriter", func() {
5152
BeforeEach(func() {
5253
var err error
5354
egressCounter = &metricsHelpers.SpyMetric{}
55+
factory := syslog.NewAppLogEmitterFactory()
56+
logClient := testhelper.NewSpyLogClient()
57+
emitter := factory.NewAppLogEmitter(logClient, "3")
5458

5559
writer = syslog.NewTCPWriter(
5660
binding,
5761
netConf,
5862
egressCounter,
5963
syslog.NewConverter(),
64+
emitter,
6065
)
6166
Expect(err).ToNot(HaveOccurred())
6267
})
@@ -183,12 +188,16 @@ var _ = Describe("TCPWriter", func() {
183188
It("write returns an error", func() {
184189
env := buildLogEnvelope("APP", "2", "just a test", loggregator_v2.Log_OUT)
185190
binding.URL, _ = url.Parse("syslog://localhost-garbage:9999")
191+
factory := syslog.NewAppLogEmitterFactory()
192+
logClient := testhelper.NewSpyLogClient()
193+
emitter := factory.NewAppLogEmitter(logClient, "3")
186194

187195
writer := syslog.NewTCPWriter(
188196
binding,
189197
netConf,
190198
&metricsHelpers.SpyMetric{},
191199
syslog.NewConverter(),
200+
emitter,
192201
)
193202

194203
errs := make(chan error, 1)
@@ -208,11 +217,15 @@ var _ = Describe("TCPWriter", func() {
208217
Context("with a happy dialer", func() {
209218
BeforeEach(func() {
210219
var err error
220+
factory := syslog.NewAppLogEmitterFactory()
221+
logClient := testhelper.NewSpyLogClient()
222+
emitter := factory.NewAppLogEmitter(logClient, "3")
211223
writer = syslog.NewTCPWriter(
212224
binding,
213225
netConf,
214226
&metricsHelpers.SpyMetric{},
215227
syslog.NewConverter(),
228+
emitter,
216229
)
217230
Expect(err).ToNot(HaveOccurred())
218231

src/pkg/egress/syslog/tls.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ func NewTLSWriter(
2727
tlsConf *tls.Config,
2828
egressMetric metrics.Counter,
2929
syslogConverter *Converter,
30+
emitter AppLogEmitter,
3031
) egress.WriteCloser {
3132

3233
dialer := &net.Dialer{
@@ -48,6 +49,7 @@ func NewTLSWriter(
4849
scheme: "syslog-tls",
4950
egressMetric: egressMetric,
5051
syslogConverter: syslogConverter,
52+
emitter: emitter,
5153
},
5254
}
5355

src/pkg/egress/syslog/tls_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ var _ = Describe("TLSWriter", func() {
5555
Hostname: "test-hostname",
5656
URL: url,
5757
}
58+
factory := syslog.NewAppLogEmitterFactory()
59+
logClient := testhelper.NewSpyLogClient()
60+
emitter := factory.NewAppLogEmitter(logClient, "3")
5861
writer := syslog.NewTLSWriter(
5962
binding,
6063
netConf,
@@ -63,6 +66,7 @@ var _ = Describe("TLSWriter", func() {
6366
},
6467
egressCounter,
6568
syslog.NewConverter(),
69+
emitter,
6670
)
6771
defer writer.Close()
6872

src/pkg/egress/syslog/writer_factory.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ func (f WriterFactory) NewWriter(ub *URLBinding, emitter AppLogEmitter) (egress.
6262
if err != nil {
6363
errorMessage := err.Error()
6464
err = NewWriterFactoryErrorf(ub.URL, "failed to load certificate: %s", errorMessage)
65-
emitter.EmitLog(ub.AppID, fmt.Sprintf("failed to load certificate: %s", errorMessage))
6665
return nil, err
6766
}
6867
tlsCfg.Certificates = []tls.Certificate{cert}
@@ -71,7 +70,6 @@ func (f WriterFactory) NewWriter(ub *URLBinding, emitter AppLogEmitter) (egress.
7170
ok := tlsCfg.RootCAs.AppendCertsFromPEM(ub.CA)
7271
if !ok {
7372
err := NewWriterFactoryErrorf(ub.URL, "failed to load root CA")
74-
emitter.EmitLog(ub.AppID, "failed to load root CA")
7573
return nil, err
7674
}
7775
}
@@ -123,6 +121,7 @@ func (f WriterFactory) NewWriter(ub *URLBinding, emitter AppLogEmitter) (egress.
123121
f.netConf,
124122
egressMetric,
125123
converter,
124+
emitter,
126125
)
127126
case "syslog-tls":
128127
w = NewTLSWriter(
@@ -131,6 +130,7 @@ func (f WriterFactory) NewWriter(ub *URLBinding, emitter AppLogEmitter) (egress.
131130
tlsCfg,
132131
egressMetric,
133132
converter,
133+
emitter,
134134
)
135135
}
136136

@@ -143,6 +143,5 @@ func (f WriterFactory) NewWriter(ub *URLBinding, emitter AppLogEmitter) (egress.
143143
ExponentialDuration,
144144
maxRetries,
145145
w,
146-
emitter,
147146
)
148147
}

0 commit comments

Comments
 (0)