Skip to content

Commit

Permalink
split transfer region count
Browse files Browse the repository at this point in the history
  • Loading branch information
lhy1024 committed Aug 30, 2019
1 parent 8a39ad3 commit 2891f23
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.

package simutil
package pdAnalysis

import (
"fmt"
Expand Down Expand Up @@ -40,9 +40,9 @@ type TransferRegionCount struct {
var TransferRegionCounter TransferRegionCount

// Init for TransferRegionCount
func (c *TransferRegionCount) Init() {
c.storeNum = CaseConfigure.StoreNum
c.regionNum = CaseConfigure.RegionNum
func (c *TransferRegionCount) Init(storeNum, regionNum int) {
c.storeNum = storeNum
c.regionNum = regionNum
c.IsValid = true
c.Redundant = 0
c.Necessary = 0
Expand Down Expand Up @@ -73,7 +73,8 @@ func (c *TransferRegionCount) AddSource(regionID, sourceStoreID uint64) {
c.GraphMat[sourceStoreID][targetStoreID]++
delete(c.regionMap, regionID)
} else {
Logger.Fatal("Error in map")
fmt.Println("Error when add sourceStoreID %u with regionID %u in transfer region map", sourceStoreID, regionID)
os.Exit(-1)
}
}

Expand Down Expand Up @@ -144,6 +145,11 @@ func (c *TransferRegionCount) PrintGraph() {

// PrintResult will print result to log and csv file.
func (c *TransferRegionCount) PrintResult() {
//Output log
fmt.Println("Total Schedules Graph: ")
c.PrintGraph()
//Solve data
c.Result()
//Output log
fmt.Println("Redundant Loop: ")
for index, value := range c.loopResultPath {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.

package simutil
package pdAnalysis

import (
. "github.com/pingcap/check"
Expand All @@ -36,8 +36,7 @@ func (t *testCounterRedundantSuite) TestCounterRedundant(c *C) {
{0, 2, 3, 4, 0, 3, 0},
{0, 5, 9, 0, 0, 0, 0},
{0, 0, 8, 0, 0, 0, 0}}
InitCaseConfig(6, 3000, true)
TransferRegionCounter.Init()
TransferRegionCounter.Init(6, 3000)
c.Assert(TransferRegionCounter.Redundant, Equals, uint64(0))
c.Assert(TransferRegionCounter.Necessary, Equals, uint64(0))
TransferRegionCounter.GraphMat = test
Expand All @@ -54,8 +53,7 @@ func (t *testCounterRedundantSuite) TestCounterRedundant(c *C) {
{0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0}}
InitCaseConfig(6, 3000, true)
TransferRegionCounter.Init()
TransferRegionCounter.Init(6, 3000)
c.Assert(TransferRegionCounter.Redundant, Equals, uint64(0))
c.Assert(TransferRegionCounter.Necessary, Equals, uint64(0))
TransferRegionCounter.GraphMat = test
Expand All @@ -74,8 +72,7 @@ func (t *testCounterRedundantSuite) TestCounterRedundant(c *C) {
{0, 133, 0, 140, 0, 93, 0, 114, 0},
{0, 0, 48, 0, 84, 1, 48, 0, 20},
{0, 61, 2, 57, 7, 122, 1, 21, 0}}
InitCaseConfig(8, 3000, true)
TransferRegionCounter.Init()
TransferRegionCounter.Init(8, 3000)
c.Assert(TransferRegionCounter.Redundant, Equals, uint64(0))
c.Assert(TransferRegionCounter.Necessary, Equals, uint64(0))
TransferRegionCounter.GraphMat = test
Expand All @@ -87,8 +84,7 @@ func (t *testCounterRedundantSuite) TestCounterRedundant(c *C) {

func (t *testCounterRedundantSuite) TestAddEdge(c *C) {
{
InitCaseConfig(6, 3000, true)
TransferRegionCounter.Init()
TransferRegionCounter.Init(6, 3000)
TransferRegionCounter.AddTarget(130, 3)
TransferRegionCounter.AddSource(130, 2)
c.Assert(TransferRegionCounter.GraphMat[2][3], Equals, uint64(1))
Expand Down
10 changes: 4 additions & 6 deletions tools/pd-simulator/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import (
"github.com/pingcap/pd/server/api"
"github.com/pingcap/pd/server/config"
"github.com/pingcap/pd/server/statistics"
"github.com/pingcap/pd/tools/pd-analysis"
"github.com/pingcap/pd/tools/pd-simulator/simulator"
"github.com/pingcap/pd/tools/pd-simulator/simulator/cases"
"github.com/pingcap/pd/tools/pd-simulator/simulator/simutil"
Expand Down Expand Up @@ -58,7 +59,7 @@ func main() {
simutil.InitCaseConfig(*storeNum, *regionNum, *enableTransferRegionCounter)
statistics.Denoising = false
if simutil.CaseConfigure.EnableTransferRegionCounter {
simutil.TransferRegionCounter.Init()
pdAnalysis.TransferRegionCounter.Init(simutil.CaseConfigure.StoreNum, simutil.CaseConfigure.RegionNum)
}

if *caseName == "" {
Expand Down Expand Up @@ -179,11 +180,8 @@ EXIT:

fmt.Printf("%s [%s] total iteration: %d, time cost: %v\n", simResult, simCase, driver.TickCount(), time.Since(start))
driver.PrintStatistics()
if simutil.TransferRegionCounter.IsValid {
simutil.Logger.Info("Total Schedules Graph: ")
simutil.TransferRegionCounter.PrintGraph()
simutil.TransferRegionCounter.Result()
simutil.TransferRegionCounter.PrintResult()
if pdAnalysis.TransferRegionCounter.IsValid {
pdAnalysis.TransferRegionCounter.PrintResult()
}

if simResult != "OK" {
Expand Down
10 changes: 5 additions & 5 deletions tools/pd-simulator/simulator/task.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"github.com/pingcap/kvproto/pkg/metapb"
"github.com/pingcap/kvproto/pkg/pdpb"
"github.com/pingcap/pd/server/core"
"github.com/pingcap/pd/tools/pd-simulator/simulator/simutil"
pdAnalysis "github.com/pingcap/pd/tools/pd-analysis"
)

// Task running in node.
Expand Down Expand Up @@ -336,8 +336,8 @@ func (a *removePeer) Step(r *RaftEngine) {
}
}
a.finished = true
if simutil.TransferRegionCounter.IsValid {
simutil.TransferRegionCounter.AddSource(a.regionID, a.peer.StoreId)
if pdAnalysis.TransferRegionCounter.IsValid {
pdAnalysis.TransferRegionCounter.AddSource(a.regionID, a.peer.StoreId)
}
}
}
Expand Down Expand Up @@ -386,8 +386,8 @@ func (a *addLearner) Step(r *RaftEngine) {
r.schedulerStats.taskStats.incAddLeaner(region.GetID())
}
a.finished = true
if simutil.TransferRegionCounter.IsValid {
simutil.TransferRegionCounter.AddTarget(a.regionID, a.peer.StoreId)
if pdAnalysis.TransferRegionCounter.IsValid {
pdAnalysis.TransferRegionCounter.AddTarget(a.regionID, a.peer.StoreId)
}
}
}
Expand Down

0 comments on commit 2891f23

Please sign in to comment.