Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mybee
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vicotor
mybee
Commits
3615e331
Commit
3615e331
authored
Jan 23, 2020
by
Janos Guljas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
use logrus for logging
parent
58507fc7
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
112 additions
and
23 deletions
+112
-23
start.go
cmd/bee/cmd/start.go
+32
-14
go.mod
go.mod
+1
-0
go.sum
go.sum
+30
-0
logging.go
pkg/logging/logging.go
+20
-0
pingpong.go
pkg/pingpong/pingpong.go
+18
-7
pingpong_test.go
pkg/pingpong/pingpong_test.go
+11
-2
No files found.
cmd/bee/cmd/start.go
View file @
3615e331
...
@@ -15,10 +15,12 @@ import (
...
@@ -15,10 +15,12 @@ import (
"syscall"
"syscall"
"time"
"time"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"github.com/janos/bee/pkg/api"
"github.com/janos/bee/pkg/api"
"github.com/janos/bee/pkg/debugapi"
"github.com/janos/bee/pkg/debugapi"
"github.com/janos/bee/pkg/logging"
"github.com/janos/bee/pkg/p2p/libp2p"
"github.com/janos/bee/pkg/p2p/libp2p"
"github.com/janos/bee/pkg/pingpong"
"github.com/janos/bee/pkg/pingpong"
)
)
...
@@ -45,6 +47,12 @@ func (c *command) initStartCmd() (err error) {
...
@@ -45,6 +47,12 @@ func (c *command) initStartCmd() (err error) {
return
cmd
.
Help
()
return
cmd
.
Help
()
}
}
logger
:=
logging
.
New
(
cmd
.
OutOrStdout
())
logger
.
SetLevel
(
logrus
.
TraceLevel
)
errorLogWriter
:=
logger
.
WriterLevel
(
logrus
.
ErrorLevel
)
defer
errorLogWriter
.
Close
()
ctx
,
cancel
:=
context
.
WithCancel
(
context
.
Background
())
ctx
,
cancel
:=
context
.
WithCancel
(
context
.
Background
())
defer
cancel
()
defer
cancel
()
...
@@ -63,7 +71,10 @@ func (c *command) initStartCmd() (err error) {
...
@@ -63,7 +71,10 @@ func (c *command) initStartCmd() (err error) {
}
}
// Construct protocols.
// Construct protocols.
pingPong
:=
pingpong
.
New
(
p2ps
)
pingPong
:=
pingpong
.
New
(
pingpong
.
Options
{
Streamer
:
p2ps
,
Logger
:
logger
,
})
// Add protocols to the P2P service.
// Add protocols to the P2P service.
if
err
=
p2ps
.
AddProtocol
(
pingPong
.
Protocol
());
err
!=
nil
{
if
err
=
p2ps
.
AddProtocol
(
pingPong
.
Protocol
());
err
!=
nil
{
...
@@ -76,7 +87,7 @@ func (c *command) initStartCmd() (err error) {
...
@@ -76,7 +87,7 @@ func (c *command) initStartCmd() (err error) {
}
}
for
_
,
addr
:=
range
addrs
{
for
_
,
addr
:=
range
addrs
{
cmd
.
Println
(
addr
)
logger
.
Infof
(
"address: %s"
,
addr
)
}
}
// API server
// API server
...
@@ -88,13 +99,17 @@ func (c *command) initStartCmd() (err error) {
...
@@ -88,13 +99,17 @@ func (c *command) initStartCmd() (err error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
fmt
.
Errorf
(
"api listener: %w"
,
err
)
return
fmt
.
Errorf
(
"api listener: %w"
,
err
)
}
}
apiServer
:=
&
http
.
Server
{
Handler
:
apiService
}
apiServer
:=
&
http
.
Server
{
Handler
:
apiService
,
ErrorLog
:
log
.
New
(
errorLogWriter
,
""
,
0
),
}
go
func
()
{
go
func
()
{
cmd
.
Println
(
"api address:
"
,
apiListener
.
Addr
())
logger
.
Infof
(
"api address: %s
"
,
apiListener
.
Addr
())
if
err
:=
apiServer
.
Serve
(
apiListener
);
err
!=
nil
&&
err
!=
http
.
ErrServerClosed
{
if
err
:=
apiServer
.
Serve
(
apiListener
);
err
!=
nil
&&
err
!=
http
.
ErrServerClosed
{
log
.
Println
(
"api server:
"
,
err
)
log
ger
.
Errorf
(
"api server: %v
"
,
err
)
}
}
}()
}()
...
@@ -112,13 +127,16 @@ func (c *command) initStartCmd() (err error) {
...
@@ -112,13 +127,16 @@ func (c *command) initStartCmd() (err error) {
return
fmt
.
Errorf
(
"debug api listener: %w"
,
err
)
return
fmt
.
Errorf
(
"debug api listener: %w"
,
err
)
}
}
debugAPIServer
:=
&
http
.
Server
{
Handler
:
debugAPIService
}
debugAPIServer
:=
&
http
.
Server
{
Handler
:
debugAPIService
,
ErrorLog
:
log
.
New
(
errorLogWriter
,
""
,
0
),
}
go
func
()
{
go
func
()
{
cmd
.
Println
(
"debug api address:
"
,
debugAPIListener
.
Addr
())
logger
.
Infof
(
"debug api address: %s
"
,
debugAPIListener
.
Addr
())
if
err
:=
debugAPIServer
.
Serve
(
debugAPIListener
);
err
!=
nil
&&
err
!=
http
.
ErrServerClosed
{
if
err
:=
debugAPIServer
.
Serve
(
debugAPIListener
);
err
!=
nil
&&
err
!=
http
.
ErrServerClosed
{
log
.
Println
(
"debug api server:
"
,
err
)
log
ger
.
Errorf
(
"debug api server: %v
"
,
err
)
}
}
}()
}()
}
}
...
@@ -131,14 +149,14 @@ func (c *command) initStartCmd() (err error) {
...
@@ -131,14 +149,14 @@ func (c *command) initStartCmd() (err error) {
// Block main goroutine until it is interrupted
// Block main goroutine until it is interrupted
sig
:=
<-
interruptChannel
sig
:=
<-
interruptChannel
log
.
Println
(
"received signal:
"
,
sig
)
log
ger
.
Debugf
(
"received signal: %v
"
,
sig
)
// Shutdown
// Shutdown
done
:=
make
(
chan
struct
{})
done
:=
make
(
chan
struct
{})
go
func
()
{
go
func
()
{
defer
func
()
{
defer
func
()
{
if
err
:=
recover
();
err
!=
nil
{
if
err
:=
recover
();
err
!=
nil
{
log
.
Println
(
"shutdown panic:
"
,
err
)
log
ger
.
Errorf
(
"shutdown panic: %v
"
,
err
)
}
}
}()
}()
defer
close
(
done
)
defer
close
(
done
)
...
@@ -147,17 +165,17 @@ func (c *command) initStartCmd() (err error) {
...
@@ -147,17 +165,17 @@ func (c *command) initStartCmd() (err error) {
defer
cancel
()
defer
cancel
()
if
err
:=
apiServer
.
Shutdown
(
ctx
);
err
!=
nil
{
if
err
:=
apiServer
.
Shutdown
(
ctx
);
err
!=
nil
{
log
.
Println
(
"api server shutdown:
"
,
err
)
log
ger
.
Errorf
(
"api server shutdown: %v
"
,
err
)
}
}
if
debugAPIServer
!=
nil
{
if
debugAPIServer
!=
nil
{
if
err
:=
debugAPIServer
.
Shutdown
(
ctx
);
err
!=
nil
{
if
err
:=
debugAPIServer
.
Shutdown
(
ctx
);
err
!=
nil
{
log
.
Println
(
"debug api server shutdown:
"
,
err
)
log
ger
.
Errorf
(
"debug api server shutdown: %v
"
,
err
)
}
}
}
}
if
err
:=
p2ps
.
Close
();
err
!=
nil
{
if
err
:=
p2ps
.
Close
();
err
!=
nil
{
log
.
Println
(
"p2p server shutdown:
"
,
err
)
log
ger
.
Errorf
(
"p2p server shutdown: %v
"
,
err
)
}
}
}()
}()
...
@@ -165,7 +183,7 @@ func (c *command) initStartCmd() (err error) {
...
@@ -165,7 +183,7 @@ func (c *command) initStartCmd() (err error) {
// allow process termination by receiving another signal.
// allow process termination by receiving another signal.
select
{
select
{
case
sig
:=
<-
interruptChannel
:
case
sig
:=
<-
interruptChannel
:
log
.
Printf
(
"received signal: %v
\n
"
,
sig
)
log
ger
.
Debugf
(
"received signal: %v
"
,
sig
)
case
<-
done
:
case
<-
done
:
}
}
...
...
go.mod
View file @
3615e331
...
@@ -19,6 +19,7 @@ require (
...
@@ -19,6 +19,7 @@ require (
github.com/multiformats/go-multiaddr v0.2.0
github.com/multiformats/go-multiaddr v0.2.0
github.com/multiformats/go-multistream v0.1.0
github.com/multiformats/go-multistream v0.1.0
github.com/prometheus/client_golang v1.3.0
github.com/prometheus/client_golang v1.3.0
github.com/sirupsen/logrus v1.4.2
github.com/spf13/cobra v0.0.5
github.com/spf13/cobra v0.0.5
github.com/spf13/viper v1.6.1
github.com/spf13/viper v1.6.1
resenje.org/web v0.4.0
resenje.org/web v0.4.0
...
...
go.sum
View file @
3615e331
This diff is collapsed.
Click to expand it.
pkg/logging/logging.go
0 → 100644
View file @
3615e331
// Copyright 2020 The Swarm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package
logging
import
(
"io"
"github.com/sirupsen/logrus"
)
func
New
(
w
io
.
Writer
)
*
logrus
.
Logger
{
logger
:=
logrus
.
New
()
logger
.
SetOutput
(
w
)
logger
.
Formatter
=
&
logrus
.
TextFormatter
{
FullTimestamp
:
true
,
}
return
logger
}
pkg/pingpong/pingpong.go
View file @
3615e331
...
@@ -10,7 +10,6 @@ import (
...
@@ -10,7 +10,6 @@ import (
"context"
"context"
"fmt"
"fmt"
"io"
"io"
"log"
"time"
"time"
"github.com/janos/bee/pkg/p2p"
"github.com/janos/bee/pkg/p2p"
...
@@ -25,12 +24,24 @@ const (
...
@@ -25,12 +24,24 @@ const (
type
Service
struct
{
type
Service
struct
{
streamer
p2p
.
Streamer
streamer
p2p
.
Streamer
logger
Logger
metrics
metrics
metrics
metrics
}
}
func
New
(
streamer
p2p
.
Streamer
)
*
Service
{
type
Options
struct
{
Streamer
p2p
.
Streamer
Logger
Logger
}
type
Logger
interface
{
Debugf
(
format
string
,
args
...
interface
{})
Errorf
(
format
string
,
args
...
interface
{})
}
func
New
(
o
Options
)
*
Service
{
return
&
Service
{
return
&
Service
{
streamer
:
streamer
,
streamer
:
o
.
Streamer
,
logger
:
o
.
Logger
,
metrics
:
newMetrics
(),
metrics
:
newMetrics
(),
}
}
}
}
...
@@ -74,7 +85,7 @@ func (s *Service) Ping(ctx context.Context, peerID string, msgs ...string) (rtt
...
@@ -74,7 +85,7 @@ func (s *Service) Ping(ctx context.Context, peerID string, msgs ...string) (rtt
return
0
,
err
return
0
,
err
}
}
log
.
Printf
(
"got pong: %q
\n
"
,
pong
.
Response
)
s
.
logger
.
Debugf
(
"got pong: %q
"
,
pong
.
Response
)
s
.
metrics
.
PongReceivedCount
.
Inc
()
s
.
metrics
.
PongReceivedCount
.
Inc
()
}
}
return
time
.
Since
(
start
)
/
time
.
Duration
(
len
(
msgs
)),
nil
return
time
.
Since
(
start
)
/
time
.
Duration
(
len
(
msgs
)),
nil
...
@@ -90,16 +101,16 @@ func (s *Service) Handler(p p2p.Peer) {
...
@@ -90,16 +101,16 @@ func (s *Service) Handler(p p2p.Peer) {
if
err
==
io
.
EOF
{
if
err
==
io
.
EOF
{
break
break
}
}
log
.
Print
f
(
"pingpong handler: read message: %v
\n
"
,
err
)
s
.
logger
.
Error
f
(
"pingpong handler: read message: %v
\n
"
,
err
)
return
return
}
}
log
.
Printf
(
"got ping: %q
\n
"
,
ping
.
Greeting
)
s
.
logger
.
Debugf
(
"got ping: %q
"
,
ping
.
Greeting
)
s
.
metrics
.
PingReceivedCount
.
Inc
()
s
.
metrics
.
PingReceivedCount
.
Inc
()
if
err
:=
w
.
WriteMsg
(
&
Pong
{
if
err
:=
w
.
WriteMsg
(
&
Pong
{
Response
:
"{"
+
ping
.
Greeting
+
"}"
,
Response
:
"{"
+
ping
.
Greeting
+
"}"
,
});
err
!=
nil
{
});
err
!=
nil
{
log
.
Print
f
(
"pingpong handler: write message: %v
\n
"
,
err
)
s
.
logger
.
Error
f
(
"pingpong handler: write message: %v
\n
"
,
err
)
return
return
}
}
s
.
metrics
.
PongSentCount
.
Inc
()
s
.
metrics
.
PongSentCount
.
Inc
()
...
...
pkg/pingpong/pingpong_test.go
View file @
3615e331
...
@@ -8,22 +8,31 @@ import (
...
@@ -8,22 +8,31 @@ import (
"bytes"
"bytes"
"context"
"context"
"fmt"
"fmt"
"io/ioutil"
"testing"
"testing"
"github.com/janos/bee/pkg/logging"
"github.com/janos/bee/pkg/p2p/mock"
"github.com/janos/bee/pkg/p2p/mock"
"github.com/janos/bee/pkg/p2p/protobuf"
"github.com/janos/bee/pkg/p2p/protobuf"
"github.com/janos/bee/pkg/pingpong"
"github.com/janos/bee/pkg/pingpong"
)
)
func
TestPing
(
t
*
testing
.
T
)
{
func
TestPing
(
t
*
testing
.
T
)
{
logger
:=
logging
.
New
(
ioutil
.
Discard
)
// create a pingpong server that handles the incoming stream
// create a pingpong server that handles the incoming stream
server
:=
pingpong
.
New
(
nil
)
server
:=
pingpong
.
New
(
pingpong
.
Options
{
Logger
:
logger
,
})
// setup the stream recorder to record stream data
// setup the stream recorder to record stream data
recorder
:=
mock
.
NewRecorder
(
server
.
Protocol
())
recorder
:=
mock
.
NewRecorder
(
server
.
Protocol
())
// create a pingpong client that will do pinging
// create a pingpong client that will do pinging
client
:=
pingpong
.
New
(
recorder
)
client
:=
pingpong
.
New
(
pingpong
.
Options
{
Streamer
:
recorder
,
Logger
:
logger
,
})
// ping
// ping
peerID
:=
"/p2p/QmZt98UimwpW9ptJumKTq7B7t3FzNfyoWVNGcd8PFCd7XS"
peerID
:=
"/p2p/QmZt98UimwpW9ptJumKTq7B7t3FzNfyoWVNGcd8PFCd7XS"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment