aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-08-03 08:45:33 +0800
committerFelix Lange <fjl@twurst.com>2015-08-04 09:10:27 +0800
commit5c949d3b3ba81ea0563575b19a7b148aeac4bf61 (patch)
tree05b9bbc8b837081cde166694d040ca1d9c972f45 /Godeps
parentbf48ed32dd8be6bec2931c9f1eee4fd749affa21 (diff)
downloadgo-tangerine-5c949d3b3ba81ea0563575b19a7b148aeac4bf61.tar.gz
go-tangerine-5c949d3b3ba81ea0563575b19a7b148aeac4bf61.tar.zst
go-tangerine-5c949d3b3ba81ea0563575b19a7b148aeac4bf61.zip
fdtrack: temporary hack for tracking file descriptor usage
Package fdtrack logs statistics about open file descriptors. This should help identify the source of #1549.
Diffstat (limited to 'Godeps')
-rw-r--r--Godeps/_workspace/src/github.com/huin/goupnp/httpu/httpu.go4
-rw-r--r--Godeps/_workspace/src/github.com/huin/goupnp/soap/soap.go14
-rw-r--r--Godeps/_workspace/src/github.com/jackpal/go-nat-pmp/natpmp.go4
-rw-r--r--Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go5
4 files changed, 27 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/huin/goupnp/httpu/httpu.go b/Godeps/_workspace/src/github.com/huin/goupnp/httpu/httpu.go
index 862c3def4..3f4606af0 100644
--- a/Godeps/_workspace/src/github.com/huin/goupnp/httpu/httpu.go
+++ b/Godeps/_workspace/src/github.com/huin/goupnp/httpu/httpu.go
@@ -9,6 +9,8 @@ import (
"net/http"
"sync"
"time"
+
+ "github.com/ethereum/go-ethereum/fdtrack"
)
// HTTPUClient is a client for dealing with HTTPU (HTTP over UDP). Its typical
@@ -25,6 +27,7 @@ func NewHTTPUClient() (*HTTPUClient, error) {
if err != nil {
return nil, err
}
+ fdtrack.Open("upnp")
return &HTTPUClient{conn: conn}, nil
}
@@ -33,6 +36,7 @@ func NewHTTPUClient() (*HTTPUClient, error) {
func (httpu *HTTPUClient) Close() error {
httpu.connLock.Lock()
defer httpu.connLock.Unlock()
+ fdtrack.Close("upnp")
return httpu.conn.Close()
}
diff --git a/Godeps/_workspace/src/github.com/huin/goupnp/soap/soap.go b/Godeps/_workspace/src/github.com/huin/goupnp/soap/soap.go
index 815610734..786ce6fa8 100644
--- a/Godeps/_workspace/src/github.com/huin/goupnp/soap/soap.go
+++ b/Godeps/_workspace/src/github.com/huin/goupnp/soap/soap.go
@@ -7,9 +7,12 @@ import (
"encoding/xml"
"fmt"
"io/ioutil"
+ "net"
"net/http"
"net/url"
"reflect"
+
+ "github.com/ethereum/go-ethereum/fdtrack"
)
const (
@@ -26,6 +29,17 @@ type SOAPClient struct {
func NewSOAPClient(endpointURL url.URL) *SOAPClient {
return &SOAPClient{
EndpointURL: endpointURL,
+ HTTPClient: http.Client{
+ Transport: &http.Transport{
+ Dial: func(network, addr string) (net.Conn, error) {
+ c, err := net.Dial(network, addr)
+ if c != nil {
+ c = fdtrack.WrapConn("upnp", c)
+ }
+ return c, err
+ },
+ },
+ },
}
}
diff --git a/Godeps/_workspace/src/github.com/jackpal/go-nat-pmp/natpmp.go b/Godeps/_workspace/src/github.com/jackpal/go-nat-pmp/natpmp.go
index 8ce4e8342..b165c784e 100644
--- a/Godeps/_workspace/src/github.com/jackpal/go-nat-pmp/natpmp.go
+++ b/Godeps/_workspace/src/github.com/jackpal/go-nat-pmp/natpmp.go
@@ -5,6 +5,8 @@ import (
"log"
"net"
"time"
+
+ "github.com/ethereum/go-ethereum/fdtrack"
)
// Implement the NAT-PMP protocol, typically supported by Apple routers and open source
@@ -102,6 +104,8 @@ func (n *Client) rpc(msg []byte, resultSize int) (result []byte, err error) {
if err != nil {
return
}
+ fdtrack.Open("natpmp")
+ defer fdtrack.Close("natpmp")
defer conn.Close()
result = make([]byte, resultSize)
diff --git a/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go b/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go
index 46cc9d070..6d44f74b3 100644
--- a/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go
+++ b/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go
@@ -18,6 +18,7 @@ import (
"sync"
"time"
+ "github.com/ethereum/go-ethereum/fdtrack"
"github.com/syndtr/goleveldb/leveldb/util"
)
@@ -369,6 +370,8 @@ func (fw fileWrap) Close() error {
err := fw.File.Close()
if err != nil {
f.fs.log(fmt.Sprintf("close %s.%d: %v", f.Type(), f.Num(), err))
+ } else {
+ fdtrack.Close("leveldb")
}
return err
}
@@ -400,6 +403,7 @@ func (f *file) Open() (Reader, error) {
return nil, err
}
ok:
+ fdtrack.Open("leveldb")
f.open = true
f.fs.open++
return fileWrap{of, f}, nil
@@ -418,6 +422,7 @@ func (f *file) Create() (Writer, error) {
if err != nil {
return nil, err
}
+ fdtrack.Open("leveldb")
f.open = true
f.fs.open++
return fileWrap{of, f}, nil