[VOL-2689] enable compile time profiling
Change-Id: I18c6ebd076e4e21d2297b20d32692ababf8c3e78
diff --git a/cmd/openolt-adapter/main.go b/cmd/openolt-adapter/main.go
index 69747df..2f7b235 100644
--- a/cmd/openolt-adapter/main.go
+++ b/cmd/openolt-adapter/main.go
@@ -477,6 +477,8 @@
log.SetAllLogLevel(logLevel)
+ realMain()
+
defer log.CleanUp()
// Print version / build information and exit
diff --git a/cmd/openolt-adapter/profile.go b/cmd/openolt-adapter/profile.go
new file mode 100644
index 0000000..5fa2bde
--- /dev/null
+++ b/cmd/openolt-adapter/profile.go
@@ -0,0 +1,37 @@
+// +build profile
+
+/*
+ * Copyright 2018-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package main
+
+import (
+ "fmt"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ "net/http"
+ _ "net/http/pprof"
+)
+
+func realMain() {
+ go func() {
+ log.Info("TEO starting PProf server")
+ http.HandleFunc("/teo", func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprintf(w, "Hello, teo")
+ })
+ log.Fatal(http.ListenAndServe("0.0.0.0:6060", nil))
+ }()
+
+}
diff --git a/cmd/openolt-adapter/release.go b/cmd/openolt-adapter/release.go
new file mode 100644
index 0000000..d986dc8
--- /dev/null
+++ b/cmd/openolt-adapter/release.go
@@ -0,0 +1,28 @@
+// +build !profile
+
+/*
+ * Copyright 2018-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//Package main invokes the application
+package main
+
+import (
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+)
+
+func realMain() {
+ log.Infoln("NOT PROFILING")
+}