ุงุฎุชุจุงุฑ ุงู„ุญู…ู„ ููŠ Atlassian Jira ุŒ Confluence ุŒ Bitbucket Part 2

ู‡ู†ุง ู‡ู†ุง ูŠู…ูƒู†ูƒ ุฃู† ุชู‚ุฑุฃ ุฌุฒุก 1 ู…ู† ู‡ุฐู‡ ุงู„ู…ุงุฏุฉ.
ููŠ ุงู„ุฌุฒุก ุงู„ุซุงู†ูŠ ุŒ ุณู†ุชุญุฏุซ ุนู† ูƒูŠููŠุฉ ุฅุนุฏุงุฏ ุงู„ุจูŠุงู†ุงุช ู„ุงุฎุชุจุงุฑ ุงู„ุฅุฌู‡ุงุฏ ุจุงุณุชุฎุฏุงู… ุฃุฏุงุฉ  dc-app-performance-toolkit .

ุชุญุถูŠุฑ ุจูŠุงู†ุงุช ุงู„ุงุฎุชุจุงุฑ


ู‡ู†ุงูƒ ุทุฑูŠู‚ุชุงู† ู„ุฅุนุฏุงุฏ ุจูŠุงู†ุงุช ุงู„ุงุฎุชุจุงุฑ:

  • ุงุณุชุฎุฏู… ุงู„ู†ุณุฎ ุงู„ุงุญุชูŠุงุทูŠุฉ ุงู„ุชูŠ ุชู‚ุฏู…ู‡ุง Atlassian. ูŠู…ูƒู†ูƒ ุงุณุชุฎุฏุงู… ู‡ุฐุง ุงู„ุฎูŠุงุฑ ุฅุฐุง ูƒู†ุช ุŒ ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ ุŒ ุชูƒุชุจ ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ุงู„ุฎุงุต ุจูƒ ูˆู„ุง ูŠู‡ู…ูƒ ุงู„ุจูŠุงู†ุงุช ุงู„ุชูŠ ุณูŠุนู…ู„ ุนู„ูŠู‡ุง ู‡ุฐุง ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ.
  • ุงุณุชุฎุฏู… ุจูŠุงู†ุงุชูƒ ุงู„ุฎุงุตุฉ. ุณูŠูƒูˆู† ู‡ุฐุง ุงู„ุฎูŠุงุฑ ู…ููŠุฏู‹ุง ุฅุฐุง ูƒุงู† ู„ุฏูŠูƒ ู†ุณุฎุชูƒ ุงู„ุฎุงุตุฉ ู…ู† Jira ุฃูˆ Confluence ุฃูˆ Bitbucket ุŒ ูˆุงู„ุชูŠ ุชู‚ูˆู… ุจุชุนุฏูŠู„ู‡ุง ุจุงุณุชุฎุฏุงู… ุงู„ูˆุธุงุฆู ุงู„ู‚ูŠุงุณูŠุฉ ูˆุงู„ู†ุตูˆุต ูˆุงู„ู…ูƒูˆู†ุงุช ุงู„ุฅุถุงููŠุฉ ูˆุทุฑู‚ ุฃุฎุฑู‰ ู…ู…ูƒู†ุฉ.

ุงู„ู†ุณุฎ ุงู„ุงุญุชูŠุงุทูŠ Atlassian


ูŠูˆูุฑ Atlassian ู†ุณุฎู‹ุง ุงุญุชูŠุงุทูŠุฉ ู„ู€ Jira ูˆ Confluence ูˆ Bitbucket ุŒ ูˆุงู„ุชูŠ ูŠู…ูƒู† ุงุณุชุฎุฏุงู…ู‡ุง ู„ุงุฎุชุจุงุฑ ุงู„ุญู…ู„.

ู„ุชุซุจูŠุช ู‡ุฐู‡ ุงู„ู†ุณุฎ ุงู„ุงุญุชูŠุงุทูŠุฉ ุŒ ุชุญุชุงุฌ ุฅู„ู‰ ุงู„ุงู†ุชู‚ุงู„ ุฅู„ู‰ ู…ุฌู„ุฏ app-dc-performance-toolkit / app / util / jira ุฅุฐุง ูƒู†ุช ุชุฎุชุจุฑ Jira ุฃูˆ  app-dc-performance-toolkit / app / util / confluence ุฅุฐุง ูƒู†ุช ุชุฎุชุจุฑ Confluence ุฃูˆ  app-dc-performance-toolkit / app / util / bitbucket ุฅุฐุง ูƒู†ุช ุชุฎุชุจุฑ Bitbucket.

ุชุญุชูˆูŠ ู‡ุฐู‡ ุงู„ู…ุฌู„ุฏุงุช ุนู„ู‰ ุงู„ู…ู„ูุงุช ุงู„ุชูŠ ุชุญุชุงุฌ ุฅู„ู‰ ุชุดุบูŠู„ู‡ุง ู„ุชุซุจูŠุช ุงู„ู†ุณุฎ ุงู„ุงุญุชูŠุงุทูŠุฉ Atlassian. ููŠู…ุง ูŠู„ูŠ ุฃูˆุตุงู ู‡ุฐู‡ ุงู„ู…ู„ูุงุช:

  • index-sync.sh ( Jira Confluence) โ€“ atlassian-jira.log (atlassian-confluence.log) โ€œindexes โ€“ 100%โ€. , . , , Jira/Confluence. , , , , , , .
  • populate_db.sh โ€“ Postgres Jira/Confluence/Bitbucket.
  • upload_attachments.sh โ€“ data.
  • index-snapshot.sh ( Confluence) โ€“ , .

ูŠุฌุจ ุชุดุบูŠู„ ุฌู…ูŠุน ุงู„ุจุฑุงู…ุฌ ุงู„ู†ุตูŠุฉ ุฃุนู„ุงู‡ ุนู„ู‰ ู†ูุณ ุงู„ุฌู‡ุงุฒ ุงู„ุธุงู‡ุฑูŠ ุงู„ุฐูŠ ุชู… ุชุซุจูŠุช ุงู„ู…ุซูŠู„ ุงู„ุฐูŠ ุชูˆุดูƒ ุนู„ู‰ ุงุฎุชุจุงุฑู‡. ู†ุธุฑู‹ุง ู„ุฃู† ู‡ุฐู‡ ุงู„ุจุฑุงู…ุฌ ุงู„ู†ุตูŠุฉ ูŠุชู… ุชุดุบูŠู„ู‡ุง ู…ู† ู†ูุณ ุงู„ุฌู‡ุงุฒ ุงู„ุธุงู‡ุฑูŠ ุŒ ูุฅู†ู‡ุง ุณุชุญุฏุฏ ุจุดูƒู„ ู…ุณุชู‚ู„ ุฅุตุฏุงุฑ ุงู„ู…ุซูŠู„ ุงู„ุฎุงุต ุจูƒ ูˆุชู†ุฒูŠู„ ุชูุฑูŠุบ ู‚ุงุนุฏุฉ ุงู„ุจูŠุงู†ุงุช ูˆุงู„ู…ุฑูู‚ุงุช ู„ู„ุฅุตุฏุงุฑ ุงู„ุฎุงุต ุจูƒ.

ุญุณู†ู‹ุง ุŒ ู…ุงุฐุง ู„ูˆ ูƒู†ุช ู„ุง ุชุฑูŠุฏ ุงุณุชุฎุฏุงู… PostgresุŸ ุจุนุฏ ูƒู„ ุดูŠุก ุŒ populate_db.sh ูŠุนู…ู„ ูู‚ุท ู„ู‚ุงุนุฏุฉ ุจูŠุงู†ุงุช Postgres.

ููŠ ู‡ุฐู‡ ุงู„ุญุงู„ุฉ ุŒ ุจุงู„ู†ุณุจุฉ ู„ู€ Jira ูู‚ุท ุŒ ูŠู…ูƒู†ูƒ ุชู†ุฒูŠู„ ู†ุณุฎุฉ xml ุงู„ุงุญุชูŠุงุทูŠุฉ ูˆุงุณุชุนุงุฏุชู‡ุง ุจุงุณุชุฎุฏุงู… ูˆุธูŠูุฉ Jira ุงู„ู‚ูŠุงุณูŠุฉ . ุฅู„ูŠูƒ ุฑุงุจุท ู‡ุฐู‡ ุงู„ู†ุณุฎุฉ ุงู„ุงุญุชูŠุงุทูŠุฉ: https://centaurus-datasets.s3.amazonaws.com/jira/$ {Jira_Verson} /large/xml_backup.zip - ุงู„ุฅุตุฏุงุฑุงุช ุงู„ู…ุฏุนูˆู…ุฉ ู…ู† Jira 8.0.3 ูˆ 7.13.6 ูˆ 8.5.0.

ู„ู… ูŠู‚ู… Atlassian ุจุฅุนุฏุงุฏ ู†ุณุฎ ุงุญุชูŠุงุทูŠุฉ ู…ู† xml ู„ู€ Confluence ูˆ Bitbucket. ุชุญุชุงุฌ ุฅู„ู‰ ุงุณุชุฎุฏุงู… ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู†ุตูŠ populate_db.sh ุฃูˆ ุฅุนุฏุงุฏ ุงู„ุจูŠุงู†ุงุช ุจู†ูุณูƒ ุŒ ูˆุงู„ุชูŠ ุณุฃู†ุงู‚ุดู‡ุง ู„ุงุญู‚ู‹ุง ููŠ ู‚ุณู… "ุงุณุชุฎุฏุงู… ุจูŠุงู†ุงุชู†ุง".

ู†ุณุชุฎุฏู… ุจูŠุงู†ุงุชู†ุง ุงู„ุฎุงุตุฉ.


ุฅุฐุง ูƒู†ุช ุชุฑุบุจ ููŠ ุงุฎุชุจุงุฑ ู…ุซูŠู„ูƒ ุนู„ู‰ ุจูŠุงู†ุงุชูƒ ุงู„ุฎุงุตุฉ ุŒ ูู‡ุฐุง ู…ู…ูƒู† ุฃูŠุถู‹ุง. ูƒู„ ู…ุง ุชุญุชุงุฌู‡ ู‡ูˆ ุงู„ุชุฃูƒุฏ ู…ู† ุฃู†ู‡ ูŠู…ูƒู† ุงุณุชุฎุฏุงู… ุจูŠุงู†ุงุชูƒ ุจูˆุงุณุทุฉ ุฃุฏุงุฉ dc-app-performance-toolkit.

ุนู†ุฏู…ุง ูŠุจุฏุฃ ุงุฎุชุจุงุฑ dc-app-performance-toolkit ุŒ ูŠู‚ูˆู… Taurus ุจุชุดุบูŠู„ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู†ุตูŠ Prepar-data.py ุŒ ุงู„ุฐูŠ ูŠุญุฏุฏ ุงู„ุจูŠุงู†ุงุช ู…ู† ุงู„ู…ุซูŠู„ ู„ูŠุชู… ุงุฎุชุจุงุฑู‡ุง ุนู„ูŠู‡. ูˆู†ุชูŠุฌุฉ ู„ุฐู„ูƒ ุŒ ูŠุชู… ุฅู†ุดุงุก ุงู„ุนุฏูŠุฏ ู…ู† ู…ู„ูุงุช csv ู…ุน ุงู„ุจูŠุงู†ุงุช ู…ู† ุงู„ู…ุซูŠู„ ุงู„ุฎุงุต ุจูƒ.

ุฅุฐุง ุชุนุฐุฑ ุนู„ู‰ Prepar-data.py ุชุญุฏูŠุฏ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ุงุฒู…ุฉ ุŒ ูุณูŠุฎูู‚ ุงู„ุงุฎุชุจุงุฑ. ู„ุฐู„ูƒ ุŒ ุชุญุชุงุฌ ุฅู„ู‰ ุงู„ุชุฃูƒุฏ ู…ู† ูˆุฌูˆุฏ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ุงุฒู…ุฉ ููŠ ู†ุณุฎุชูƒ.

ู„ูู‡ู… ุงู„ุจูŠุงู†ุงุช ุงู„ุชูŠ ูŠุฌุจ ุฃู† ุชูƒูˆู† ุŒ ุชุญุชุงุฌ ุฅู„ู‰ ุฏุฑุงุณุฉ ู…ู„ู Prepar-data.py ู„ู„ู…ู†ุชุฌ ุงู„ุฐูŠ ุณุชุฎุชุจุฑู‡.

ุฏุนูˆู†ุง ู†ูุญุต ู‡ุฐู‡ ุงู„ู…ู„ูุงุช.

ุฌูŠุฑุง


ูŠู‚ุน ู…ู„ู  Prepar-data.py  ุงู„ุฎุงุต ุจู€ Jira ููŠ  ู…ุฌู„ุฏ dc-app-performance-toolkit / blob / master / app / util / data_preparation / jira / .

ูŠุญุฏุฏ ู‡ุฐุง ุงู„ู†ุต ุงู„ุจุฑู…ุฌูŠ ุงู„ุจูŠุงู†ุงุช ู…ู† Jira ูˆูŠู†ุดุฆ ุงู„ู…ู„ูุงุช ุงู„ุชุงู„ูŠุฉ:

  • issues.csv - ู‚ุงุฆู…ุฉ ุงู„ุนุด.
  • jqls.csv - ู‚ุงุฆู…ุฉ ุงุณุชุนู„ุงู…ุงุช jql.
  • kanban-boards.scv - ู‚ุงุฆู…ุฉ ู„ูˆุญุงุช kanban.
  • project-keys.csv - ู‚ุงุฆู…ุฉ ู…ูุงุชูŠุญ ุงู„ู…ุดุฑูˆุน.
  • scrum-boards.csv- ู‚ุงุฆู…ุฉ ู„ูˆุญุงุช ุณูƒุฑูˆู….
  • users.scv - ู‚ุงุฆู…ุฉ ุงู„ู…ุณุชุฎุฏู…ูŠู†.

ู„ู† ู†ุฏุฑุณ ู…ู„ู Prepar-data.py ุจุงู„ูƒุงู…ู„ ุŒ ู†ุญุชุงุฌ ูู‚ุท ุฅู„ู‰ ุฅู„ู‚ุงุก ู†ุธุฑุฉ ุนู„ู‰ ู‡ุฐู‡ ุงู„ุทุฑูŠู‚ุฉ:

def __create_data_set(jira_api):
    dataset = dict()
    dataset[USERS] = __get_users(jira_api)
    software_project_keys = __get_software_project_keys(jira_api, PROJECTS_COUNT_LIMIT)
    dataset[PROJECT_KEYS] = software_project_keys
    dataset[ISSUES] = __get_issues(jira_api, software_project_keys)
    dataset[SCRUM_BOARDS] = __get_boards(jira_api, 'scrum')
    dataset[KANBAN_BOARDS] = __get_boards(jira_api, 'kanban')
    dataset[JQLS] = __generate_jqls(count=150)

    return dataset

ูƒู…ุง ุชุฑู‰ ููŠ ู‡ุฐู‡ ุงู„ุทุฑูŠู‚ุฉ ุŒ ูŠุชู… ุชุญุฏูŠุฏ ุฌู…ูŠุน ุงู„ุจูŠุงู†ุงุช ุงู„ู…ุทู„ูˆุจุฉ ุฃุซู†ุงุก ุงู„ุงุฎุชุจุงุฑ:

dataset[USERS] = __get_users(jira_api)

ู†ุฎุชุงุฑ ุงู„ู…ุณุชุฎุฏู…ูŠู† ู…ู† ู…ุซูŠู„ Jira ุงู„ุฎุงุต ุจู†ุง. ูŠุฌุจ ุฃู† ูŠุจุฏุฃ ุงุณู… ุงู„ู…ุณุชุฎุฏู… ุจู€ "performance_". ูŠุชุนูŠู† ุนู„ูŠู†ุง ุงุฎุชูŠุงุฑ ุงู„ุนุฏุฏ ุงู„ุฐูŠ ุญุฏุฏู†ุงู‡ ู…ู† ุงู„ู…ุณุชุฎุฏู…ูŠู† ูƒู…ุณุชุฎุฏู…ูŠู† ู…ุชุฒุงู…ู†ูŠู† ููŠ ู…ุนู„ู…ุฉ ุงู„ุชุฒุงู…ู† ููŠ ู…ู„ู jira.yml . ุฅุฐุง ู„ู… ูŠุชู… ุงู„ุนุซูˆุฑ ุนู„ู‰ ู‡ุฐุง ุงู„ู…ุณุชุฎุฏู… ุฃูˆ ูƒุงู† ุนุฏุฏู‡ู… ุบูŠุฑ ูƒุงูู ุŒ ูุณูŠุชู… ุฅู†ุดุงุก ุงู„ู…ุณุชุฎุฏู…ูŠู†. ุณูŠุญุตู„ ุงู„ู…ุณุชุฎุฏู…ูˆู† ุนู„ู‰ ุงู„ุจุงุฏุฆุฉ "performance_" ูˆูƒู„ู…ุฉ ู…ุฑูˆุฑ ูƒู„ู…ุฉ ุงู„ู…ุฑูˆุฑ.

software_project_keys = __get_software_project_keys(jira_api, PROJECTS_COUNT_LIMIT)
dataset[PROJECT_KEYS] = software_project_keys

ู†ุฎุชุงุฑ ู…ูุงุชูŠุญ ุงู„ู…ุดุฑูˆุน ู…ู† ู†ูˆุน ุงู„ุจุฑุงู…ุฌ.

__get_issues(jira_api, software_project_keys)

ู†ุฎุชุงุฑ ู…ุง ู„ุง ูŠุฒูŠุฏ ุนู† 8000 ุจุฑู†ุงู…ุฌ ู…ู† ู…ุดุฑูˆุนุงุช ุจุฑู…ุฌูŠุฉ ู„ูŠุณุช ููŠ ูˆุถุน ู…ุบู„ู‚.

dataset[SCRUM_BOARDS] = __get_boards(jira_api, 'scrum')

ู†ุฎุชุงุฑ ู…ุง ู„ุง ูŠุฒูŠุฏ ุนู† 250 ู„ูˆุญุฉ ุนู…ูˆู….

dataset[KANBAN_BOARDS] = __get_boards(jira_api, 'kanban')

ู†ุฎุชุงุฑ ู…ุง ู„ุง ูŠุฒูŠุฏ ุนู† 250 ู„ูˆุญุฉ kanban.

dataset[JQLS] = __generate_jqls(count=150)

ู†ู‚ูˆู… ุจุฅู†ุดุงุก ุงุณุชุนู„ุงู…ุงุช jql ุจุงู„ู…ุญุชูˆู‰ ุงู„ุชุงู„ูŠ: 'text ~ โ€œabc *โ€ โ€.

ูˆุจุงู„ุชุงู„ูŠ ุŒ ู…ู† ุฃุฌู„ ุชุดุบูŠู„ ุงู„ุงุฎุชุจุงุฑุงุช ุฏูˆู† ุฃุฎุทุงุก ุŒ ุชุญุชุงุฌ ุฅู„ู‰ ุงู„ุชุฃูƒุฏ ู…ู† ุชูˆูุฑ ู…ุดุงุฑูŠุน ุงู„ุจุฑุงู…ุฌ ู…ุน ู„ูˆุญุงุช ish ูˆ scrum ูˆ kanban. ุฅุฐุง ูƒุงู† ู„ุฏูŠูƒ ุจุงู„ูุนู„ ู‡ุฐู‡ ุงู„ูƒุงุฆู†ุงุช ููŠ ุงู„ู…ุซูŠู„ ุงู„ุฎุงุต ุจูƒ ุŒ ูู„ู† ุชุญุชุงุฌ ุฅู„ู‰ ุงู„ู‚ูŠุงู… ุจุฃูŠ ุดูŠุก (ุณูŠูƒูˆู† ุงู„ุงุฎุชุจุงุฑ ู†ุงุฌุญู‹ุง ุจุฏูˆู† ุฃูŠ ุชุบูŠูŠุฑุงุช) ุŒ ุฅุฐุง ู„ู… ูŠูƒู† ูƒุฐู„ูƒ ุŒ ูุฃู†ุช ุจุญุงุฌุฉ ุฅู„ู‰ ุฅู†ุดุงุก ุงู„ูƒุงุฆู†ุงุช ุงู„ู…ูู‚ูˆุฏุฉ.

ู†ุธุฑู‹ุง ู„ุฃู† ู…ุซูŠู„ Jira ุงู„ุฎุงุต ุจูŠ ูุงุฑุบ ุŒ ูู‚ุฏ ุฃู†ุดุฃุช ู…ุดุฑูˆุน ุชุทูˆูŠุฑ ุงู„ุจุฑุงู…ุฌ Scrum ูˆ ุชุทูˆูŠุฑ ุจุฑุงู…ุฌ Kanban ูˆุฃุนุฏุช ุงุฎุชุจุงุฑ ุงู„ุชุญู…ูŠู„ ู…ุฑุฉ ุฃุฎุฑู‰:

bzt jira.yml

ู‡ุฐู‡ ุงู„ู…ุฑุฉ ุงูƒุชู…ุงู„ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู†ุตูŠ ุฏูˆู† ุฃุฎุทุงุก. ู‡ู†ุง ุฅุฎุฑุงุฌ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู†ุตูŠ:

18:15:24 INFO: Taurus CLI Tool v1.14.0
18:15:24 INFO: Starting with configs: ['jira.yml']
18:15:24 INFO: Configuring...
18:15:24 INFO: Artifacts dir: /Users/alexm/PycharmProjects/easymigration/dc-app-performance-toolkit/app/results/jira/2020-05-02_18-15-24
18:15:24 INFO: Preparing...
18:15:25 INFO: Starting shell command: python util/environment_checker.py
18:15:25 INFO: Starting shell command: python util/data_preparation/jira/prepare-data.py
18:15:26 WARNING: There is newer version of Taurus 1.14.2 available, consider upgrading. What's new: http://gettaurus.org/docs/Changelog/
18:15:28 INFO: Will install JMeter into /Users/alexm/.bzt/jmeter-taurus/5.2.1
18:15:28 INFO: Downloading: https://apache-mirror.rbc.ru/pub/apache//jmeter/binaries/apache-jmeter-5.2.1.zip
100% [===========================================================] Time: 0:00:04
18:15:33 INFO: Unzipping /var/folders/4r/w8hkd4w51x787tw4ynb29v2w0000gn/T/tmp9g5rzqs1.zip to /Users/alexm/.bzt/jmeter-taurus/5.2.1
18:15:50 INFO: Downloading jmeter-plugins-manager-1.3.jar from https://search.maven.org/remotecontent?filepath=kg/apc/jmeter-plugins-manager/1.3/jmeter-plugins-manager-1.3.jar
18:15:51 INFO: Downloading cmdrunner-2.2.jar from https://search.maven.org/remotecontent?filepath=kg/apc/cmdrunner/2.2/cmdrunner-2.2.jar
100% [===========================================================] Time: 0:00:01
18:15:52 INFO: Installing JMeter plugins: jpgc-casutg,jpgc-dummy,jpgc-ffw,jpgc-fifo,jpgc-functions,jpgc-json,jpgc-perfmon,jpgc-prmctl,jpgc-tst,bzm-parallel=0.4,bzm-random-csv=0.6,jpgc-casutg=2.5,jpgc-dummy=0.2,jpgc-ffw=2.0,jpgc-fifo=0.2,jpgc-functions=2.1,jpgc-json=2.6,jpgc-perfmon=2.1,jpgc-prmctl=0.4,jpgc-tst=2.4,jpgc-wsc=0.3,tilln-sshmon=1.0,jpgc-cmd=2.2,jpgc-synthesis=2.2
18:16:38 INFO: 1 obsolete CookieManagers are found and fixed
18:16:56 INFO: Installing ChromeDriver...
18:16:56 INFO: Will install ChromeDriver into /Users/alexm/.bzt/selenium-taurus/tools/chromedriver/80.0.3987.106
18:16:56 INFO: Downloading: https://chromedriver.storage.googleapis.com/80.0.3987.106/chromedriver_mac64.zip
100% [===========================================================] Time: 0:00:01
18:16:57 INFO: Unzipping /var/folders/4r/w8hkd4w51x787tw4ynb29v2w0000gn/T/tmpurpp_7tz.zip to /Users/alexm/.bzt/selenium-taurus/tools/chromedriver/80.0.3987.106
18:16:57 INFO: Installing GeckoDriver...
18:16:57 INFO: Will install GeckoDriver into /Users/alexm/.bzt/selenium-taurus/tools/geckodriver/0.23.0
18:16:57 INFO: Downloading: https://github.com/mozilla/geckodriver/releases/download/v0.23.0/geckodriver-v0.23.0-macos.tar.gz
100% [===========================================================] Time: 0:00:02
18:17:00 INFO: Untaring /var/folders/4r/w8hkd4w51x787tw4ynb29v2w0000gn/T/tmpiurqzzt4.zip to /Users/alexm/.bzt/selenium-taurus/tools/geckodriver/0.23.0
18:17:00 WARNING: You are using Python 3, make sure that your scripts are able to run in Python 3
18:17:00 INFO: Starting...
18:17:00 INFO: Waiting for results...
18:17:00 INFO: Waiting for finish...
18:17:00 ERROR: Console screen failure: ord() expected string of length 1, but int found
18:25:22 WARNING: Please wait for graceful shutdown...
18:25:22 INFO: Shutting down...
18:25:22 INFO: Starting shell command: python util/jmeter_post_check.py
18:25:22 INFO: Starting shell command: python util/jtl_convertor/jtls-to-csv.py kpi.jtl selenium.jtl
18:25:59 INFO: Post-processing...
18:25:59 INFO: Test duration: 0:08:22
18:25:59 INFO: Samples count: 3272, 0.06% failures
18:25:59 INFO: Average times: total 0.595, latency 0.000, connect 0.000
18:25:59 INFO: Percentiles:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Percentile, % โ”‚ Resp. Time, s โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
18:25:59 INFO: Request label stats:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ label                                 โ”‚ status โ”‚    succ โ”‚ avg_rt โ”‚ error                                                                                                                                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ jmeter_browse_boards                  โ”‚   OK   โ”‚ 100.00% โ”‚  0.186 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_browse_projects                โ”‚   OK   โ”‚ 100.00% โ”‚  0.149 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_create_issue                   โ”‚   OK   โ”‚ 100.00% โ”‚  0.135 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_login_and_view_dashboard       โ”‚   OK   โ”‚ 100.00% โ”‚  0.497 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_open_comment                   โ”‚   OK   โ”‚ 100.00% โ”‚  0.210 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_open_editor                    โ”‚   OK   โ”‚ 100.00% โ”‚  0.287 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_open_quick_create              โ”‚   OK   โ”‚ 100.00% โ”‚  0.063 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_save_comment                   โ”‚   OK   โ”‚ 100.00% โ”‚  0.521 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_save_edit                      โ”‚   OK   โ”‚ 100.00% โ”‚  0.900 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_search_jql                     โ”‚   OK   โ”‚ 100.00% โ”‚  0.610 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_view_backlog                   โ”‚   OK   โ”‚ 100.00% โ”‚  0.387 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_view_dashboard                 โ”‚   OK   โ”‚ 100.00% โ”‚  0.267 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_view_issue                     โ”‚   OK   โ”‚ 100.00% โ”‚  0.593 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_view_kanban_board              โ”‚   OK   โ”‚ 100.00% โ”‚  0.344 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_view_project_summary           โ”‚   OK   โ”‚ 100.00% โ”‚  0.611 โ”‚                                                                                                                                                 โ”‚
โ”‚ jmeter_view_scrum_board               โ”‚   OK   โ”‚ 100.00% โ”‚  0.347 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_a_login                      โ”‚   OK   โ”‚ 100.00% โ”‚ 28.460 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_browse_boards_list           โ”‚   OK   โ”‚ 100.00% โ”‚  9.871 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_browse_projects_list         โ”‚   OK   โ”‚ 100.00% โ”‚  6.376 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_create_issue                 โ”‚   OK   โ”‚ 100.00% โ”‚  5.143 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_edit_issue                   โ”‚   OK   โ”‚ 100.00% โ”‚ 16.305 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_save_comment                 โ”‚   OK   โ”‚ 100.00% โ”‚ 19.909 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_search_jql                   โ”‚   OK   โ”‚ 100.00% โ”‚ 32.249 โ”‚                                                                                                                                  โ”‚
โ”‚ selenium_view_backlog_for_scrum_board โ”‚   OK   โ”‚ 100.00% โ”‚ 14.223 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_view_dashboard               โ”‚   OK   โ”‚ 100.00% โ”‚ 13.805 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_view_issue                   โ”‚   OK   โ”‚ 100.00% โ”‚ 12.332 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_view_kanban_board            โ”‚   OK   โ”‚ 100.00% โ”‚ 14.675 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_view_project_summary         โ”‚   OK   โ”‚ 100.00% โ”‚ 12.710 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_view_scrum_board             โ”‚   OK   โ”‚ 100.00% โ”‚ 14.893 โ”‚                                                                                                                                                 โ”‚
โ”‚ selenium_z_log_out                    โ”‚   OK   โ”‚ 100.00% โ”‚ 14.889 โ”‚                                                                                                                                                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
18:26:00 INFO: Writing JUnit XML report into: /Users/alexm/PycharmProjects/easymigration/dc-app-performance-toolkit/app/results/jira/2020-05-02_18-15-24/xunit.xml
18:26:00 INFO: Starting shell command: python util/analytics.py jira
18:26:06 INFO: Starting shell command: python util/cleanup_results_dir.py
18:26:06 INFO: Artifacts dir: /Users/alexm/PycharmProjects/easymigration/dc-app-performance-toolkit/app/results/jira/2020-05-02_18-15-24
18:26:06 INFO: Done performing with code: 0

ูŠู…ูƒู† ุฃู† ูŠูุฑู‰ ู…ู† ุฅุฎุฑุงุฌ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู†ุตูŠ ุฃู† Taurus ู‚ุฏ ุฃุทู„ู‚ ู…ู„ู Prepar-data.py ูˆุฃู†ุดุฃ ู…ู„ูุงุช csv ุงู„ุชุงู„ูŠุฉ:

issues.csv

KAN-1,10023,KAN
KAN-2,10024,KAN
KAN-3,10025,KAN
KAN-4,10026,KAN
KAN-5,10027,KAN
...........


jqls.csv

text ~ "vqz*" order by key
text ~ "fpl*" order by key
text ~ "zjs*" order by key
text ~ "wph*" order by key
text ~ "xhx*" order by key
text ~ "pxt*" order by key
text ~ "deh*" order by key
text ~ "iri*" order by key
text ~ "jbr*" order by key
text ~ "snt*" order by key
...........

kanban-boards.csv

2

project_keys.csv

KAN
SCRUM

scrum-boards.csv

1

users.csv

performance_kqgdayqwfj,password
performance_zyqnwihaxr,password
performance_onfxfovior,password
performance_rrujzwrxlt,password
performance_agjbcxxeqy,password

ุซู… ู‚ุงู… Taurus ุจุชุซุจูŠุช JMeter ูˆุจุฑู†ุงู…ุฌ ุชุดุบูŠู„ ุงู„ูˆูŠุจ Chrome ุŒ ูˆุฃุฌุฑู‰ ุงู„ุงุฎุชุจุงุฑุงุช ูˆุทุจุน ุงู„ู†ุชูŠุฌุฉ.

ุงู„ุขู† ุฏุนูˆู†ุง ู†ู„ู‚ูŠ ู†ุธุฑุฉ ุนู„ู‰ ู…ู„ู Prepar-data.py ุงู„ุฎุงุต ุจู€ Confluence ูˆ Bitbucket.

ุงู„ุชู‚ุงุก ู†ู‡ุฑูŠู†


ุฎุฐ ุจุนูŠู† ุงู„ุงุนุชุจุงุฑ ู…ู„ู  Prepar-data.py ู„ู„ุชุฌู…ุน  .

ุฅู„ูŠูƒ ุงู„ุทุฑูŠู‚ุฉ ุงู„ุฑุฆูŠุณูŠุฉ:

def __create_data_set(rest_client, rpc_client):
    dataset = dict()
    dataset[USERS] = __get_users(rest_client, rpc_client, CONFLUENCE_SETTINGS.concurrency)
    dataset[PAGES] = __get_pages(rest_client, 5000)
    dataset[BLOGS] = __get_blogs(rest_client, 5000)
    return dataset

 dataset[USERS] = __get_users(rest_client, rpc_client, CONFLUENCE_SETTINGS.concurrency)

ู†ุฎุชุงุฑ ุฃูˆ ู†ู†ุดุฆ ู…ุณุชุฎุฏู…ูŠู† ู„ุงุฎุชุจุงุฑ ุงู„ุชุญู…ูŠู„ ูˆูู‚ู‹ุง ู„ู†ูุณ ุงู„ู…ู†ุทู‚ ูƒู…ุง ููŠ ุญุงู„ุฉ Jira.

dataset[PAGES] = __get_pages(rest_client, 5000)

ู†ุฎุชุงุฑ ุตูุญุงุช ู…ู† Confluence ุจุงุณุชุฎุฏุงู… cql ุงู„ุชุงู„ูŠ: "type = page and title! ~ JMeter and title! ~ Selenium and title! ~ Home".

dataset[BLOGS] = __get_blogs(rest_client, 5000)

ู†ุฎุชุงุฑ ุงู„ู…ุฏูˆู†ุงุช ู…ู† Confluence ู…ู† ุฎู„ุงู„ cql ุงู„ุชุงู„ูŠ: "type = blogpost and title! ~ Performance".

ูˆุจุงู„ุชุงู„ูŠ ุŒ ู…ู† ุฃุฌู„ ุจุฏุก ุงุฎุชุจุงุฑ Confluence ุŒ ุชุญุชุงุฌ ุฅู„ู‰ ูˆุฌูˆุฏ ุตูุญุงุช ูˆู…ุฏูˆู†ุงุช ููŠ ู†ุณุฎุชูƒ.

Bitbucket


ู†ู†ุธุฑ ุงู„ุขู† ููŠ prepare-data.py ู…ู„ู   ู„Bitbucket.

ู‡ู†ุง ุงู„ูˆุธูŠูุฉ ุงู„ุฑุฆูŠุณูŠุฉ:

def __create_data_set(bitbucket_api):
    dataset = dict()
    dataset[USERS] = __get_users(bitbucket_api)
    dataset[PROJECTS] = __get_projects(bitbucket_api)
    dataset[REPOS] = __get_repos(bitbucket_api)
    dataset[PULL_REQUESTS] = __get_prs(bitbucket_api)
    return dataset

dataset[USERS] = __get_users(bitbucket_api)

ู†ุฎุชุงุฑ ุฃูˆ ู†ู†ุดุฆ ุงู„ู…ุณุชุฎุฏู…ูŠู† ูˆูู‚ู‹ุง ู„ู†ูุณ ุงู„ู…ู†ุทู‚ ุงู„ู…ุชุจุน ููŠ Jira ุŒ ูˆู„ูƒู† ูŠุฌุจ ุฃู† ูŠูƒูˆู† ู„ู„ู…ุณุชุฎุฏู…ูŠู† ู‡ุฐู‡ ุงู„ู…ุฑุฉ ุงู„ุจุงุฏุฆุฉ "dcapt-perf-user". ูˆุนู†ุฏ ุฅู†ุดุงุก ุงู„ู…ุณุชุฎุฏู… ุŒ ุชูƒูˆู† ูƒู„ู…ุฉ ุงู„ู…ุฑูˆุฑ ู…ุณุงูˆูŠุฉ ู„ุงุณู… ุงู„ู…ุณุชุฎุฏู….

dataset[PROJECTS] = __get_projects(bitbucket_api)

ู†ุฎุชุงุฑ ุงู„ู…ุดุงุฑูŠุน.

dataset[REPOS] = __get_repos(bitbucket_api)

ู†ุฎุชุงุฑ ุงู„ู…ุณุชูˆุฏุนุงุช.

dataset[PULL_REQUESTS] = __get_prs(bitbucket_api)

ู†ุฎุชุงุฑ ุชุฌู…ุน ุงู„ุทู„ุจุงุช. ูŠุฌุจ ุฃู„ุง ูŠู‚ู„ ุนุฏุฏ ุชุฌู…ุนุงุช ุงู„ุทู„ุจุงุช ุนู† ู…ุนู„ู…ุฉ ุงู„ุชุฒุงู…ู† ููŠ ู…ู„ู  bitbucket.yml .

ูˆุจุงู„ุชุงู„ูŠ ุŒ ู…ู† ุฃุฌู„ ุชุดุบูŠู„ ุงุฎุชุจุงุฑุงุช Bitbucket ุŒ ูŠุฌุจ ุฃู† ูŠูƒูˆู† ู„ุฏูŠูƒ ููŠ ุงู„ู…ุดุงุฑูŠุน ุงู„ู…ุซูŠู„ุฉ ุŒ ูˆุงู„ู…ุณุชูˆุฏุนุงุช ุŒ ูˆู…ุฌู…ูˆุน ุงู„ุทู„ุจุงุช ููŠ ูƒู…ูŠุฉ ู„ุง ุชู‚ู„ ุนู† ู…ุนู„ู…ุฉ ุงู„ุชุฒุงู…ู† ููŠ ู…ู„ู bitbucket.yml.

ู„ุฐู„ูƒ ุŒ ู†ุธุฑู†ุง ููŠ ูƒูŠููŠุฉ ุฅุนุฏุงุฏ ุงู„ุจูŠุงู†ุงุช ู„ุงุฎุชุจุงุฑ ุงู„ุชุญู…ูŠู„ ุจุงุณุชุฎุฏุงู… ุงู„ู†ุณุฎ ุงู„ุงุญุชูŠุงุทูŠุฉ ุงู„ุชูŠ ุฃุนุฏุชู‡ุง Atlassian ุŒ ูˆูƒูŠููŠุฉ ุชุดุบูŠู„ ุงุฎุชุจุงุฑ ุงู„ุญู…ู„ ุนู„ู‰ ุจูŠุงู†ุงุชู†ุง. ููŠ ุงู„ุฌุฒุก ุงู„ุชุงู„ูŠ ุŒ ุณู†ุชุญุฏุซ ุนู† ุงู„ุนู†ุงุตุฑ ุงู„ุชูŠ ุชู… ุฅู†ุดุงุคู‡ุง ุจุนุฏ ุงุฎุชุจุงุฑ ุงู„ุถุบุท ุŒ ูˆู…ุง ู‡ูŠ ุงู„ู…ุนู„ูˆู…ุงุช ุงู„ุชูŠ ุชู‚ุฏู…ู‡ุง ูˆู†ูˆุน ุงู„ุฑุณูˆู…ุงุช ุงู„ุชูŠ ูŠู…ูƒู†ู†ุง ุฅู†ุดุงุคู‡ุง ู…ู† ุงู„ุตู†ุฏูˆู‚.

All Articles